XAML Designer事件处理

时间:2018-04-05 00:18:49

标签: c# wpf events custom-controls xaml-designer

我有自定义UserControlScaleTest),我在其中设置了一些嵌套属性:

<local:ScaleTest Some="1">
    <local:ScaleTest.scals>
        <s:Scales step="15"></s:Scales>
        <s:Scales step="10"></s:Scales>
        <s:Scales step="30" color="Red"></s:Scales>
    </local:ScaleTest.scals>
</local:ScaleTest>

我的控件根据该数据绘制一些图形,我的问题是更改这些嵌套属性不会导致设计器视图(或我的控件)更新,直到我重建我的项目。 例如step的更改不会导致更新,但在更改Some时,视图会使用新的step值进行重绘。

我使用事件来通知ScaleTest有关其中一个scale属性的更改。

private List<Scales> _scals = new List<Scales>();
public List<Scales> scals {
    get => _scals;
    set {
        _scals = value;
        foreach (var s in _scals) {
            s.STEP_CHANGE += onStepChange;
        }
        drawGrid(gr);
    }
}

private void onStepChange(ScaleEvent e) {
    drawGrid(gr);
}

private double sg;
public double Some {
    get => sg;
    set { sg = value;
        drawGrid(gr);
    }
}

我不确定设计师是否支持事件处理,或者我需要做更多的事情,或者这是一个错误。我最近与设计师有其他问题,即使是最简单的例子。例如,我有

  

错误无法将“Scales”类型的值添加到集合或   'List'类型的字典。

虽然渲染正确。我不能忍受它,有时它会自行消失,但我的简短问题是

XAML Designer是否支持活动?

0 个答案:

没有答案