Combobox ItemTemplate & SelectedValue
本文关键字:SelectedValue amp ItemTemplate Combobox | 更新日期: 2023-09-27 18:32:58
我已经修改了我的组合框的项目模板以禁用项目循环的问题(组合框滚动是无限的,在触摸模式下)
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
由于进行了该更改,因此我无法从视图模型中修改所选项。
完整组合框 :
<ComboBox BorderBrush="#D4D4D4" Margin="312,64,22,142" Grid.Row="1"
ItemsSource="{Binding TypeRemplissageListe,Mode=TwoWay}"
DisplayMemberPath="Name"
SelectedValuePath="Value"
SelectedValue="{Binding SelectedTypeRemplissage,Mode=TwoWay}"
v:FieldValidationExtensions.Format="NonEmpty" Grid.Column="1"
>
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
视图模型 :
private string _selectedTypeRemplissage;
public string SelectedTypeRemplissage
{
get { return _selectedTypeRemplissage; }
set
{
if (_selectedTypeRemplissage != value)
{
_selectedTypeRemplissage = value;
RaisePropertyChanged("SelectedTypeRemplissage");
}
}
}
SelectedTypeRemplissage = TypeRemplissageListe.ElementAt(0).Name;
数据列表类 :
public class DataList
{
public string Name { get; set; }
public string Value { get; set; }
}
是的,问题出在项目面板上,因为项目面板中有堆栈面板,因此未启用虚拟化,因此不会突出显示所选项目。
将"堆栈面板"更改为"项目堆栈面板",它应该可以工作。