0
請注意,如果:組合框結合基礎上的兩個來源性質的平等選擇項目使用的DataTemplate
的兩種類型的列表被簡化了很多在這個例子中,必須保持獨立。
使用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>
ModelData類型:
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; }
}
}
您的代碼無法生成。我不明白這一點。 'public string ColorNumber'屬性如何使用後臺字段'private int colorNumber'? 'int'不能隱式地轉換爲/從'string'。 –
糟糕,錯字。現在已經糾正了。 – LJNielsenDk