![](/img/trans.png)
[英]An ItemTemplate Containing A Combobox - How Do I Bind To The SelectedValue?
[英]Combobox ItemTemplate & SelectedValue
我已经修改了组合框的项目模板以禁用项目循环的问题(在触摸模式下,组合框滚动不受限制)
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
由于进行了此更改,因此我无法从ViewModel修改selectedItem。
完整组合框:
<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>
ViewModel:
private string _selectedTypeRemplissage;
public string SelectedTypeRemplissage
{
get { return _selectedTypeRemplissage; }
set
{
if (_selectedTypeRemplissage != value)
{
_selectedTypeRemplissage = value;
RaisePropertyChanged("SelectedTypeRemplissage");
}
}
}
SelectedTypeRemplissage = TypeRemplissageListe.ElementAt(0).Name;
DataList类别:
public class DataList
{
public string Name { get; set; }
public string Value { get; set; }
}
是的,Itemspanel存在问题,因为Itemspanel中具有Stackpanel,因此未启用虚拟化功能,因此未突出显示所选项目。
将Stackpanel更改为Itemsstackpanel,它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.