如何设计类似于VS2015的工具 - >选项窗口的窗口?

时间:2016-02-06 02:17:56

标签: c# wpf xaml treeview

更新:我目前遇到的问题是我的树视图中有两种不同类型的项目。显式创建的项目和从ItemsSource属性创建的项目。显式创建的TreeViewItems的SelectedItem属性是TreeViewItem,ItemsSource创建项的SelectedItem是对象的实例。

我试图设计一个类似于VS2015的Tools->选项窗口的窗口,我在左边有一个TreeView,右边有一个ContentPresenter(或其他一些控件?),这样我可以将ContentPresenter的DataContext绑定到TreeView的SelectedValue,然后ContentPresenter可以基于DataContext以某种方式选择它的内容。我已尝试过各种方法,但无法做到正确。

我窗口上的DataContext是此对象的一个​​实例

public class Settings
{
   public GeneralSettings General { get; } = new GeneralSettings();
   public ObservableCollection<Configuration> Configurations = new ObservableCollection<Configuration>();
   public OtherSettings Other { get; } = new OtherSettings();

   public class GeneralSettings
   {
   }
   public class Configuration
   {
      public string Name { get; } = string.Empty;
   }
   public class OtherSettings
   {
   }
}

我希望树视图看起来像这样

一般
- Configutations
| - 配置1
| - 配置2
| - ......
| - 配置N
- 其他

所以我尝试了这个XAML:

     <TreeView>
        <TreeViewItem Header="General"/>
        <TreeViewItem Header="Configurations" ItemsSource="{Binding Configurations}"/>
        <TreeViewItem Header="Other"/>
     </TreeView>

但我不确定如何将根TreeViewItems绑定到它们适当的属性。

我是否认为这一切都错了?有什么建议吗?

0 个答案:

没有答案