私はこれに慣れていないので、我慢してください。
ビューモデルと、項目の独自のソースを持つ、いくつかのデータが既に含まれている 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 のリスト プロパティがあるため、この場合は "(Collection)" である各アイテムに同じアイテムを表示することです。
別の .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 内に文字列である新しいプロパティを作成し、アプリがソース データを収集する方法をいじくり回すことで解決策を見つけ、一貫して機能させることができました。
この方法が機能するかどうかはまだ興味がありますが、私の意見では、作業ははるかに少なくて済みます。