-1
我有一個組合框,顯示來自ObservableCollection(包含多個目錄鏈接)的項目 然後我有幾個樹視圖和數據表,所有這些都需要根據組合框選擇引用目錄。知道我已經看到在過去類似的問題只是一直沒能找到它,因爲!!任何方向將不勝感激從單個組合框選擇中選擇多個值
例如收集的內容是:
public class ProjectThread
{
public String projectName { get; set; }
public String Directory1 { get; set; }
public String Directory2 { get; set; }
public String Directory3 { get; set; }
}
現在的我m試圖找出如何從單個組合框選擇檢索多個值路徑離子:
<ComboBox x:Name="comboBox"
HorizontalAlignment="Left"
ItemsSource="{Binding Items}"
DisplayMemberPath="projectName"
SelectedValuePath="Directory1"/> (**How to reference multiple?)
下面是我的樹視圖正在初始化:
public MainWindow()
{
InitializeComponent();
this.ListDirectory(treeView1, **unsure how to reference directory from combobox**");
this.ListDirectory(treeView2, **unsure how to reference directory from combobox**");
}
這是我的TreeView的後端:
private void ListDirectory(TreeView treeView, string path)
{
treeView.Items.Clear();
var rootDirectoryInfo = new DirectoryInfo(path);
treeView.Items.Add(CreateDirectoryNode(rootDirectoryInfo));
}
private static TreeViewItem CreateDirectoryNode(DirectoryInfo directoryInfo)
{
var directoryNode = new TreeViewItem { Header = directoryInfo.Name };
foreach (var directory in directoryInfo.GetDirectories())
directoryNode.Items.Add(CreateDirectoryNode(directory));
foreach (var file in directoryInfo.GetFiles())
directoryNode.Items.Add(new TreeViewItem { Header = file.Name });
return directoryNode;
}
至於 「複製線程」 的評論,我認爲這是不是這樣。該鏈接指的是數據網格選擇。我的問題是關於其項目具有多個屬性的組合框選擇。我的問題是如何從XAML中的相同選擇中提取多個屬性。
最好的辦法是使用一些類似MVVM的解決方案,在這裏你有一個視圖模型,它具有綁定到ComboBox的'SelectedProject'和一些'Directory1,Directory2 ...'屬性,這些屬性是根據'SelectedProject'計算出來的,就像http ://stackoverflow.com/questions/33814890/wpf-mvvm-display-view-for-datagrids-selecteditem。或者如果你不想使用/學習MVVM(雖然我寧願推薦這樣做),你可以看看[SelectionChanged](http://stackoverflow.com/questions/2961118/wpf-combobox-選擇已更改事件具有舊值非新事件)組合框上的事件。 –
感謝您的建議,尤金。我很早就開始編程教育,並慢慢向MVVM邁進。我很可能將我的代碼(和這個項目)重構爲未來的MVVM,但現在我希望有一個我發生的XAML解決方案,併發布在下面的答案中。感謝您的輸入!!! – ctalley5