【发布时间】:2019-02-19 21:22:58
【问题描述】:
我有一个三行网格。
第一行和最后一行被扩展器占用,第二行被gridsplitter占用。
我想完成 gridsplitter 的功能。我希望只有在展开器Visibility ="visible" 展开时才能看到gridsplitter。
如何将此行为设置为 gridsplitter?
【问题讨论】:
我有一个三行网格。
第一行和最后一行被扩展器占用,第二行被gridsplitter占用。
我想完成 gridsplitter 的功能。我希望只有在展开器Visibility ="visible" 展开时才能看到gridsplitter。
如何将此行为设置为 gridsplitter?
【问题讨论】:
这是您的场景的示例。
<StackPanel>
<Expander IsExpanded="True" x:Name="exp1">
<TextBlock Text="In Expander 1" />
</Expander>
<Expander IsExpanded="True" x:Name="exp2">
<TextBlock Text="In Expander 2" />
</Expander>
<GridSplitter >
<GridSplitter.Style>
<Style TargetType="GridSplitter">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=exp1, Path=IsExpanded}" Value="True" />
<Condition Binding="{Binding ElementName=exp2, Path=IsExpanded}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</GridSplitter>
</StackPanel>
希望有帮助
【讨论】:
DependencyProperty,该视图将用于绑定值。