【问题标题】:DataGridTemplateColumn with custom control带有自定义控件的 DataGridTemplateColumn
【发布时间】:2018-12-06 19:47:42
【问题描述】:

我已经创建了自定义控件(图片上的加/减列)并将其放到 DataGrid 控件的 DataGridTemplateColumn 中:

<DataGridTextColumn Binding="{Binding Count}" Header="Count" Width="60"/>
            <DataGridTemplateColumn Width="90" Header="Add/Substract">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <controls:AddSubtractControl HorizontalAlignment="Center" AddSubtractEvent="AddSubtractClick" />
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

我的自定义控件的主要任务当然是在“计数”列上的实际值上加/减一些值。

当用户点击“添加”按钮时,控件调用一些输入值的事件:

private void AddClick(object sender, MouseButtonEventArgs e)
    {
        AddSubstractEvent(int.Parse(countBox.Text), e);
    }

当我单击“添加”或“减去”按钮时,在 AddClick 方法之前,在某些未知情况下,首先调用此控件的构造函数。因此countBox.Text具有默认值,在点击“添加”按钮之前没有输入。

如何处理这个问题? 感谢您的帮助。

【问题讨论】:

    标签: c# wpf datagrid custom-controls datagridtextcolumn


    【解决方案1】:

    由于这是一个控件,它的行为应该像一个控件。例如,一个 Textbox 有一个您要绑定的 Text 依赖属性。

    您应该有一个依赖属性,然后您可以将其绑定到该值。 也许这应该是一个整数,所以它是整数类型。

    内部。

    您的文本框绑定到该 dp。

    您的 + 和 - 按钮增加和减少控件 dp 的当前值。

    【讨论】:

      猜你喜欢
      • 2014-08-29
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2012-11-19
      相关资源
      最近更新 更多