WPF - 为什么我的 UserControl 停止工作?

WPF - Why does my UserControl stop working?

WPF - 为什么我的 UserControl 在我取消注释行时停止工作? 当我评论我的控件时,它在开始时添加了行,当我取消注释时,它没有通过 LoadRow() 添加任何行,甚至试图通过一些 textboxbutton 功能在运行时添加?

来自自定义 UserControl 的代码隐藏:

    public void LoadRows()
    {
        Rows.Add(new Row("221 331,44", GetOutputFromInput));
        Rows.Add(new Row("2 331,44", GetOutputFromInput));
        Rows.Add(new Row("331,44", GetOutputFromInput));
        Rows.Add(new Row("0,44", GetOutputFromInput));
        Rows.Add(new Row { Input = "333", Output = "555"});
        Rows.Add(new Row { Input = "333", Output = "555"});
    }

    //public DependencyProperty RowsProperty = DependencyProperty.Register("Rows", typeof(ObservableCollection<Row>), typeof(TriggerListAdd));
    public ObservableCollection<Row> Rows
    {
        get;
        set;
    }

仅通过取消注释该行,您不会获得依赖关系 属性。您还必须编写正确的 CLR 属性 包装器:

public DependencyProperty RowsProperty = DependencyProperty.Register(
    nameof(Rows),
    typeof(ObservableCollection<Row>),
    typeof(TriggerListAdd));

public ObservableCollection<Row> Rows
{
    get { return (ObservableCollection<Row>)GetValue(RowsProperty);
    set { SetValue(RowsProperty, value);
}

我还建议将 属性 的类型更改为 IEnumerable 以在使用控件时获得更大的灵活性。