Wpf 一行中不同列中的扩展器。展开到整行
我在一个网格行中有两个扩展器,但在不同的列中。如何将每一行扩展到整行,而不是仅在列上Wpf 一行中不同列中的扩展器。展开到整行,wpf,xaml,Wpf,Xaml,我在一个网格行中有两个扩展器,但在不同的列中。如何将每一行扩展到整行,而不是仅在列上 <Grid x:Name="mainGrid"> <Grid.ColumnDefinitions> <ColumnDefinition Width="90"/> <ColumnDefinition Width="90"/> <ColumnDefinition /> </Grid.Co
<Grid x:Name="mainGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition MinHeight="40" />
<RowDefinition MinHeight="40" />
</Grid.RowDefinitions>
<Controls:Expander Grid.Row="0" Grid.Column="0" x:Name="expander2" Header="Header1"
MinHeight="33" Padding="3">
<TextBlock Text="SomeText1" />
</Controls:Expander>
<Controls:Expander Grid.Row="0" Grid.Column="1" x:Name="expander1" Header="Header2"
MinHeight="33" Padding="3">
<TextBlock Text="SomeText2" />
</Controls:Expander>
</Grid>
expander1和expander2应扩展到整行0。为检查其
IsExpanded
属性并将其网格。行span
设置为2的扩展器引入触发器
<Style TargetType="{x:Type Expander}">
<Style.Triggers>
<Trigger Property="IsExpanded" Value="True">
<Setter Property="Grid.RowSpan" Value="2" />
</Trigger>
</Style.Triggers>
</Style>
这对你有用吗?非常感谢,很好。在Silverlight中不支持触发器的情况下,您能给出解决此问题的建议吗?
<Style TargetType="{x:Type Expander}">
<Setter Property="Grid.RowSpan"
Value="{Binding IsExpanded,
RelativeSource={RelativeSource
Self},
Converter={StaticResource
local:ExpansionToRowSpanConverter}}"
</Style>
ExpansionToRowSpanConverter.Convert(....)
{
return (bool)value ? 2 : 1;
}