0

我有 N 个单选按钮,并且基于单选按钮选择,我想在 wpf 应用程序中显示 N 个用户控件中的一个用户控件。我想使用更少的代码和更多的 xaml 任何人都可以为此提出好的解决方案。

谢谢,

4

2 回答 2

1

首先,将要显示的所有控件放入 XAML。(如果您愿意,可以放在彼此之上...)然后,将以下代码放入每个控件中,以打开和关闭控件的可见性。

Visibility="{Binding Path=IsMyControlVisible, Converter={StaticResource BooleanToVisibilityConverter}}"

在后面的代码中,为要显示/隐藏的每个控件实现一个属性(对于上述控件,请调用属性“IsMyControlVisible”。

然后,将您的单选按钮 IsChecked 绑定到您的 IsMyControlVisible 属性。

IsChecked="{Binding IsMyControlVisible, Mode=OneWayToSource, FallbackValue=false }"

最后,如果您只是对 IsMyControlVisible 属性使用代码隐藏,则应将以下内容放入您的 xaml 中,以便您的控件将数据上下文设置为代码隐藏:

DataContext="{Binding RelativeSource={RelativeSource Self}}"
于 2012-04-26T22:27:21.067 回答
0

你所拥有的是一个列表(描述行为的标题;用户控制)。
所以定义 MyUserOptions :一个具有 ControlCaption 和 UserControl 作为公共属性的类。
建立一个这样的'MyUserOptions'列表

在 ListView 中显示该列表,具有所选项目所需的外观,MyUserOptions 的 dataTemplate 仅显示标题。在该列表视图下方,放置一个 ContentControl,它具有 listView SelectedItem 作为 DataContext,并绑定到 UserControl 属性。

于 2012-04-27T10:47:28.827 回答