繁体   English   中英

组合框ItemTemplate和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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM