ご注意ください:
リスト内の 2 つのタイプは、この例では大幅に簡略化されているため、別々にしておく必要があります。
型間の接続としての int の使用は変更できません。
問題:
以下のコードを考えると、次のようにマークされた ComboBox を取得するにはどうすればよいですか???
?
ColorDefs.Name
をその内容として表示します。に等しい
SelectedItem
ものに設定します。Models.DisplayColorNumber
ColorDefs.ColorNumber
Models.DisplayColorNumber
選択が変更された場合は、更新されたものを更新します。
コードビハインドで
public List<ModelData> Models { get; }
public List<DisplayColorDefinition> ColorDefs { get; }
DataContext=this;
XAML:
<ListBox ItemsSource="{Binding Models}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<ComboBox ??? />
<TextBlock Text="{Binding Models, Path=Name}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
モデルデータ型:
public class ModelData
{
private string name;
private int displayColorNumber;
public string Name
{
get { return name; }
set { name = value; }
}
public int DisplayColorNumber
{
get { return displayColorNumber; }
set { displayColorNumber = value; }
}
}
DisplayColorDefinition タイプ:
public class DisplayColorDefinition
{
private int colorNumber;
private string name;
private Color displayColor;
public int ColorNumber
{
get { return colorNumber; }
set { colorNumber= value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public Color DisplayColor
{
get { return displayColor; }
set { displayColor = value; }
}
}