Telerik PersistenceFramework:RadGridView PersistenceManager.StorageId

Telerik PersistenceFramework: RadGridView PersistenceManager.StorageId

我正在尝试在 RadGridView 上使用 telerik:PersistenceManager.StorageId 属性 将组件状态保存在本地存储中。

如果我这样设置 属性:

telerik:PersistenceManager.StorageId="rgvItems"

一切正常,但我想使用绑定动态设置 StorageId。 为此,我尝试像这样设置 属性:

telerik:PersistenceManager.StorageId="{Binding Path=StorageId}"

其中 StorageId 是组件 xaml.cs 文件中定义的 DependecyProperty

    public string StorageId
    {
        get
        {
            return (string) GetValue(StorageIdProperty);
        }
        set
        {
            SetValue(StorageIdProperty, value);
        }
    }
    public static readonly DependencyProperty StorageIdProperty = 
        DependencyProperty.Register("StorageId", typeof(string), typeof(vGridContainer));

并像这样在组件构造函数中设置:

    public vGridContainer(string storageId)
    {
        InitializeComponent();
        DataContext = this;

        StorageId = ConfigurationManager.AppSettings["PersistenceManager.StorageId"]

        [...]
    }

使用该代码,网格视图状态不会持久化。

我是不是漏掉了什么?

提前谢谢大家:)

我已经尝试了从 xaml 绑定 属性 的所有方法,但没有任何效果。

最后我解决了设置附加依赖项 属性 的问题,代码如下:

rgvCheckIn.SetValue(Telerik.Windows.Persistence.PersistenceManager.StorageIdProperty, ConfigurationManager.AppSettings["PersistenceManager.StorageId"]);

现在可以正常使用了。 希望对遇到同样问题的任何人有所帮助:)