簡體   English   中英

如何禁用 RadmulticolumnCombobox WPF 中的項目?

[英]How can I disable an item in RadmulticolumnCombobox WPF?

我有一個從 Itemsourceprovider 填充的 Telerik RadMulticolumnCombobox,我想要的是將此控件中的特定項目的isEnable設置為 false。

問題是我找不到釋放此任務的任何屬性。

<telerik:RadMultiColumnComboBox DisplayMemberPath="LastName"
                                NullText="Select employee to handle the order..."
                                Width="300"
                                DropDownWidth="530"
                                DropDownHeight="255">
 

  <telerik:RadMultiColumnComboBox.ItemsSourceProvider>
        <telerik:GridViewItemsSourceProvider AutoGenerateColumns="False" ItemsSource="{Binding Employees}" >
            <telerik:GridViewItemsSourceProvider.Columns>
                <telerik:GridViewDataColumn Header="First Name" DataMemberBinding="{Binding FirstName}" />
                <telerik:GridViewDataColumn Header="Last Name" DataMemberBinding="{Binding LastName}" />
                <telerik:GridViewDataColumn DataMemberBinding="{Binding City}" />
                <telerik:GridViewDataColumn Header="Hire Date" DataMemberBinding="{Binding HireDate}" />
                <telerik:GridViewDataColumn Header="Orders Count" DataMemberBinding="{Binding Orders.Count}" />
            </telerik:GridViewItemsSourceProvider.Columns>
        </telerik:GridViewItemsSourceProvider>
    </telerik:RadMultiColumnComboBox.ItemsSourceProvider>
</telerik:RadMultiColumnComboBox>

在此處輸入圖片說明

我能做什么?

終於,我解決了我的問題!! 我無法相信解決方案如此簡單。

我創建了一個rowStyle並在我的班級中創建了一個propertyChanged

     <telerik:GridViewItemsSourceProvider.RowStyle>
                            <Style TargetType="telerik:GridViewRow">
                                <Setter Property="IsEnabled" Value="{Binding IsSelected}">
                                </Setter>
                            </Style>
                        </telerik:GridViewItemsSourceProvider.RowStyle>

這是我的課:

    public class MyModel: INotifyPropertyChanged
     {
    

    public event PropertyChangedEventHandler PropertyChanged;

    private bool isSelected;
    public bool IsSelected
      {
        get { return isSelected; }
        set
        {
            if (isSelected != value)
            {
                isSelected = value;
                OnPropertyChanged("IsSelected");
            }
        }
    }
    protected void OnPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null) 
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }

我已經在我的 main 中設置了這個屬性的值,如下所示:

var models = new List<MyModel>();
// ....

foreach ( var m in models)
    m.IsSelected = true;
var item = mycombob.selectedItem as MyModel;
item.IsSelected = false; // disable the selected item for example

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM