我試圖進行綁定,給下面的情況:WPF綁定子控件的父控件
我有一個名爲「節點」,它有兩個屬性的類:「速度」和「pauseTime」。然後我有一個節點陣列。
在我的XAML中,我有一個數字控件(標記爲Node),它允許用戶在節點之間切換。還有兩個子控件,我希望顯示所選節點的速度和pauseTime。
我的問題是如何設置速度的數據綁定,例如,以便它顯示節點數組控件中的值在Nodes數組中選定的節點的速度?
我試着用google搜索這個,但不確定要使用什麼搜索條件。
我試圖進行綁定,給下面的情況:WPF綁定子控件的父控件
我有一個名爲「節點」,它有兩個屬性的類:「速度」和「pauseTime」。然後我有一個節點陣列。
在我的XAML中,我有一個數字控件(標記爲Node),它允許用戶在節點之間切換。還有兩個子控件,我希望顯示所選節點的速度和pauseTime。
我的問題是如何設置速度的數據綁定,例如,以便它顯示節點數組控件中的值在Nodes數組中選定的節點的速度?
我試着用google搜索這個,但不確定要使用什麼搜索條件。
我不確定數字控制是什麼意思,但我敲了一個主控細節控制場景的例子。
在你有一個ListView(主)網格的XAML和一個TextBlock(詳細信息):
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<ListView ItemsSource="{Binding}" x:Name="masterListView">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<TextBlock Grid.Row="1" Text="{Binding ElementName=masterListView, Path=SelectedItem.Speed}" />
</Grid>
後面的代碼看起來是這樣的:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new Node[]
{
new Node() { Speed = 1, PauseTime = "1 Min", Name = "Item 1" },
new Node() { Speed = 2, PauseTime = "2 Mins" , Name = "Item 2" }
};
}
}
public class Node
{
public int Speed { get; set; }
public string PauseTime { get; set; }
public string Name { get; set; }
}
孩子TextBlock綁定到所選節點的Speed屬性。如果將IsSynchronizedWithCurrentItem =「True」添加到ListView中,則在窗口加載時將自動選擇第一項。如果您的Google主控臺詳情/ WPF和IsSynchronizedWithCurrentItem =「True」,您會發現更多詳情。
對於Google來說,如何使用MVVM來做到這一點可能也很有用 - 在this Stackoverflow Answer中提到了一個合理的方法。
對不起,一個數字控件基本上只是一個文本格式,僅用於數字。我不認爲我可以使用上面闡述的方法,因爲ListView有一個ItemsSource屬性。但我想通過從數字控件(文本框)中的數字中獲取數組索引來根據數組填充子控件。那有意義嗎? – jessejuicer 2011-06-06 18:21:33