Добавить эффект к некоторым строкам в DataGrid - PullRequest
2 голосов
/ 10 ноября 2010

Это то, что я хочу: Когда пользователь нажимает кнопку, ко всем строкам, отвечающим критериям, должен добавляться эффект размытия

Проблема: Я нашел единственный способ сделать это - в событии LoadingRow. Но в моем случае строка уже загружена, когда я хочу применить эффект размытия.

Вопрос: Как перебирать строки, чтобы я мог применить эффект размытия. Или, что еще лучше, как я могу привязать эффект к строке?

Это мой код, который работает только при применении эффекта при запуске:

    private void dg_LoadingRow(object sender, DataGridRowEventArgs e)
    {
        if (true) // Logic for figuring out if a row should be blur'ed
            e.Row.Effect = new BlurEffect { Radius = 8 };
    }

Спасибо за любую помощь

Larsi

1 Ответ

1 голос
/ 10 ноября 2010

Я нашел решение для этого:

Привязка к свойству Effect в DataGridCellPresenter выглядит следующим образом:

<sdk:DataGridCellsPresenter x:Name="CellsPresenter" Grid.Column="1" sdk:DataGridFrozenGrid.IsFrozen="True" Effect="{Binding ., Converter={StaticResource BlurConverter}}"/>

А конвертер просто:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
    // Some logic...
    return new BlurEffect { Radius = 8 }; 
}

Ларс Эрик

...