我有自定义UserControl
(ScaleTest
),我在其中设置了一些嵌套属性:
<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是否支持活动?