我是新來的,所以忍受着我。綁定到ItemTemplate裏面的Viewmodel集合
我有一個viewmodel和一個ItemsControl的視圖,其中已經有一些數據,它有自己的項目源。
但是我實際上想要在控件中編號,因爲總是有10個。我可以通過在左側添加一些文本塊來實現這一點,但這只是單調乏味,我試圖找到一種不同的方式。
所以這是什麼,我至今要點:
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding RelativeSource={RelativeSource AncestorType=ItemsControl}, Path=DataContext.Nums}" />
<TextBlock Grid.Column="1" Text="{Binding Item1}" />
<TextBlock Grid.Column="2" Text="{Binding Item2}" />
</Grid>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
我的問題是,它只是顯示相同的項目爲每一個在這種情況下是「(集合)」自然是因爲我有一個1-10的列表屬性。
綁定到這個在一個單獨的.cs文件:
private List<int> _nums = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
public List<int> Nums
{
get { return _nums; }
}
編輯:
所以我找到了一個解決方案通過使這是一個字符串的ItemsSource內一個新的屬性,然後用一些我的應用程序收集源數據的方式搖擺不定,我能夠始終如一地工作。
我仍然感興趣,如果這種方法可以工作,但我認爲它會少得多的工作。
你可以顯示你綁定的類的結構嗎? –
實際的itemsource是從我的viewmodel中的一個屬性,基本上我只是試圖使用第二個屬性作爲源? – pgwri
TextBlock不支持模板(以您引用它的方式)。基於你寫的內容,直接的建議是用MyUserControl替換第一個TextBlock。 –