gpt4 book ai didi

c# - StackPanel 可见性取决于 Combobox 选择

转载 作者:行者123 更新时间:2023-12-03 10:45:54 24 4
gpt4 key购买 nike

我想要一个 StackPanel,它的可见性应该取决于 Combobox 的选择。不幸的是,下面的 XAML 不起作用。

我找到了一个具有新属性的解决方案,该属性将在 Combobox 选择的 PropertyChanged 事件上设置,但我更喜欢严格的 XAML 解决方案。

关于如何解决这个问题的任何提示?

<StackPanel>
<Label>Picture in Picture function</Label>
<ComboBox Name="cbPictureInPicture" ItemsSource="{Binding Path=PictureInPictureCodeList, Mode=OneWay}" DisplayMemberPath="CodeText"
SelectedValuePath="CodeID" SelectedValue="{Binding Path=PictureInPicture, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
<StackPanel>
<StackPanel.Style>
<Style TargetType="StackPanel">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=cbPictureInPicture, Path=IsSelected.CodeText}" Value="Yes">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<Label>Picture in Picture is used</Label>
(...)
</StackPanel>

最佳答案

您可能会重写为

<DataTrigger Binding="{Binding ElementName=cbPictureInPicture, Path=SelectedItem.CodeText}" Value="Yes">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>

假设组合框绑定(bind)到其项目具有 CodeText 属性的集合。所以 SelectedItem.CodeText 将指向相同。

此外,可能不需要设置 <Setter Property="Visibility" Value="Visible" />因为它是默认值。在这种情况下,它没有任何效果,只是可以删除一些额外的代码行。

关于c# - StackPanel 可见性取决于 Combobox 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26251318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com