Telerik PersistenceFramework: RadGridView PersistenceManager.StorageId - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь использовать свойство telerik:PersistenceManager.StorageId для RadGridView, чтобы сохранить состояние компонента в локальном хранилище.

Если я установлю свойство следующим образом:

telerik:PersistenceManager.StorageId="rgvItems"

все работает нормально, но я бы хотел установить StorageId динамически, используя привязку. Для этого я попытался установить свойство следующим образом:

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

, где StorageId - это DependecyProperty, определенный в файле компонента xaml.cs:

    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"]

        [...]
    }

С этим кодом статус просмотра сетки не сохраняется.

Я что-то упустил?

Спасибо всем заранее:)

1 Ответ

0 голосов
/ 25 марта 2019

Я пробовал все о свойстве привязки из xaml , но ничего не получалось.

Наконец-то я решил, что проблемы с установкой свойства присоединенной зависимости из кода выглядят следующим образом:

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

Теперь все работает нормально.Надеюсь, что это поможет любому, кто испытывает ту же проблему:)

...