1

そのコントロールでテレリック Datapager コントロールをカスタマイズして、リソース ファイルを 1 つ作成し、グリッドのページ サイズを変更するためのコンボボックスを 1 つ追加します

<UserControl.Resources>
.......
<telerik:RadComboBox x:Name="CmbPageSize" MinWidth="40" telerik:StyleManager.Theme="{StaticResource Theme}" ItemsSource="{Binding Path=BindPageSize, Mode=TwoWay}" SelectedItem="{Binding Path=DataPagerPageSize_string, Mode=TwoWay}"></telerik:RadComboBox>
.......

コンボをバインドする

 public string DataPagerPageSize_string
    {
        get
        {
            if (_DataPagerPageSize_string == null || _DataPagerPageSize_string == string.Empty)
            {
                //DatapagerIndex = 1;
                return DefaultPageSize.ToString();

            }
            return _DataPagerPageSize_string;
        }
        set
        {
            _DataPagerPageSize_string = value;
            OnPropertyChanged("_DataPagerPageSize_string");

        }
    }
public List<string> BindPageSize
    {
        get
        {
            List<string> Pagerdata = new List<string>();

            Pagerdata.Add("10");
            Pagerdata.Add("20");
            Pagerdata.Add("50");
            Pagerdata.Add("100");
            Pagerdata.Add("250");
            Pagerdata.Add("500");
            Pagerdata.Add("750");
            Pagerdata.Add("1000");
            Pagerdata.Add("1500");
            Pagerdata.Add("2000");
            Pagerdata.Add("Automatic");
            Pagerdata.Add("All");

            return Pagerdata;
        }
    }

これは、コンボボックスから値を選択した場合に正常に機能しますが、コードビハインドから変更したい

 EVP.DataPagerPageSize_string = "All";

これは正常に機能しますが、コンボボックスには古い値が表示されます。プロパティをチェックすると、新しく設定された値が表示されますが、コンボボックスは新しい値を選択しません

4

1 に答える 1

0

変更してみる

 OnPropertyChanged("_DataPagerPageSize_string");

 OnPropertyChanged("DataPagerPageSize_string");

アンダースコアを削除します。

于 2012-04-07T05:20:28.317 に答える