我以为我做了一些相当精彩的东西,但它不起作用(还有!)。
我试图摆脱SettingsDialog
背后的所有代码,用户可以选择SettingsGroup
,因此可以在ListView
右侧显示(a ContentPresenter
与Visual Studio有类似的设置对话框。
我tipped使用SettingsGroup
,我做了,但之后意识到自卸车可能只是依靠XAML来完成工作。
这是我到目前为止所得到的。
在XAML中声明 <Grid.Resources>
<w:DefinePathsUserControl x:Key="DefinePathSettingsGroup"></w:DefinePathsUserControl>
<w:HideShowTvShowsUserControl x:Key="HideShowTvShowsSettingsGroup"></w:HideShowTvShowsUserControl>
</Grid.Resources>
:
SettingsGroup
添加左侧ListView
选择器(简单的 <ListView
x:Name="SettingsGroupSelector"
Grid.Row="0"
Grid.Column="0">
<ListViewItem
x:Name="PathSetting"
Tag="{StaticResource DefinePathSettings}"
Content="Path"/>
<ListViewItem
x:Name="HideShowTvShowsSetting"
Tag="{StaticResource HideShowTvShowsSettings}"
Content="Hide/Show TV Shows"/>
</ListView>
):
ContentPresenter
然后我想我可以简单地将ListView
绑定到 <ContentPresenter
x:Name="SettingsContentPanel"
Grid.Row="0"
Grid.Column="2"
Grid.ColumnSpan="2"
Content="{Binding Source=SettingsGroupSelector, Path=SelectedItem.Tag}" />
中所选项目的标记,例如:
ContentPresenter
不幸的是,我的{{1}}中没有显示任何内容。我也没有在输出窗口中出现任何错误。
谁可以帮助我?
答案 0 :(得分:1)
更改
<ContentPresenter
x:Name="SettingsContentPanel"
Grid.Row="0"
Grid.Column="2"
Grid.ColumnSpan="2"
Content="{Binding Source=SettingsGroupSelector, Path=SelectedItem.Tag}" />
到这个
<ContentPresenter
x:Name="SettingsContentPanel"
Grid.Row="0"
Grid.Column="2"
Grid.ColumnSpan="2"
Content="{Binding ElementName=SettingsGroupSelector, Path=SelectedItem.Tag}" />
的更多信息