我有一個數組(存儲爲ObservableCollection
)我動態實例化的數據,並且我將它鏈接到中的ItemsControl
。該數據被格式化,像這樣:用於將ObservableCollection解釋爲StackPanel的元素的WPF樣式
public class VariableValueList<T>
{
public String Name {get; private set;}
public IList<T> Values {get; private set;}
...
}
和我ObservableCollection<VariableValueList<double>> IVCollection
,建成後,連接到ItemsControl
有以下幾點:
MainWindow.xaml.cs
private void Open_OnClick(object sender, RoutedEventArgs e)
{
...
IndependentVariables.ItemsSource = IVCollection;
}
其中IndependentVariables
起源這裏:
MainWindow.xaml
<StackPanel>
<ItemsControl Name="IndependentVariables" Style="{StaticResource IVCell}"></ItemsControl>
</StackPanel>
我需要構造樣式IVCell
有機會獲得各VariableValueList<double>
(一旦我得到的是,這將是微不足道的,以獲得其Name
和Values
成員)。
我需要格式化數據,使得對於每個元素,Name
和Values
被印刷,像這樣:
名稱
值值值...
名稱
Value Value Value ...
...
利用現有的StackPanel
。我知道這個問題至少有兩個基本問題。
我該如何給這個數組提供樣式訪問? (或:我有陣列後如何修改樣式?)
如何在動態樣式中實例化新元素(例如,對於每個數組元素)?
我真的很感謝你的幫忙。如果我試圖以這種方式構建任何東西完全錯誤,請糾正我。我對WPF相當陌生。
謝謝你的答覆。我的成員'Name'和'Values'是代碼隱藏的依賴屬性嗎?我不知道如何將它們鏈接到'IVCollection'。 – Joseph
我應該澄清。當試圖在XAML中綁定時,Name和Value不會被註冊爲有效。如果我將DataType =「{x:Type local:MainWindow}」'添加到'DataTemplate',我可以得到依賴屬性,但我不相信這就是我想要的。 – Joseph
在表達式'TargetProperty = {綁定SourceProperty}' - 'TargetPropery'必須是依賴屬性,但'SourceProperty'可以是一個簡單的屬性。如果你真的需要這些屬性作爲綁定的目標,那麼答案是'是' - 它們必須是依賴屬性。 – max