У меня есть сетка с тремя строками.
Первая и последняя строки заняты экспандером, а вторая строка занята сплиттером.
Я хочу выполнить функциональность для gridsplitter. Я хочу, чтобы разделитель сетки был виден только тогда, когда оба моих расширителя развернуты Visibility = "visible".
Как я могу установить это поведение для gridsplitter?





Как насчет MultiDataTrigger
Вот образец для вашего сценария.
<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>
надеюсь, это поможет
@TomThomas Вам нужно иметь DependencyProperty в другом представлении, которое будет использоваться в этом представлении для привязки значений.
Я сделал это, но есть некоторые проблемы. Я спросил об этом в этом вопросе. stackoverflow.com/questions/54764648/… можешь посмотреть!?
Что мне нужно изменить, если мой второй расширитель находится в файле другой XAML. Как я могу их подключить? @гопичандар