0

ボタンコントロールを(列名とともに)WPFDataGrid列に動的に追加する方法はありますか?

ヘッダーボタンをクリックすると、ポップアップが開きます。

このボタンの生成は動的なものであり、一部の列ヘッダーを追加する必要がある場合と、追加する必要がない場合があるため、コードビハインドから決定されます。

4

1 に答える 1

1

たぶんDataTemplateセレクターで?このようなもの:

XAML:

<ListView ItemsSource="{Binding}">
    <ListView.View>
        <GridView>
            <GridViewColumn>
                <GridViewColumn.HeaderTemplateSelector>
                    <local:MyColumnHeaderSelector />
                </GridViewColumn.HeaderTemplateSelector>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

C#:

public class MyColumnHeaderSelector : DataTemplateSelector
{
    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        if(yourCondition == true)
        {
            return (DataTemplate)App.Current.MainWindow.FindResource("ColumnTemplateWithButton"); // this DataTemplate is defined in the resources of your window
        }
        else
        {
            return (DataTemplate)App.Current.MainWindow.FindResource("ColumnTemplateWithoutButton"); // this DataTemplate is defined in the resources of your window
        }
    }
}
于 2009-10-07T15:20:30.140 に答える