我创建了一个自定义用户控件,我在我的主xaml控件上使用:
<Controls:CustomControl Width="200" Height="20"
TotalCount="{Binding TotalRecordCount}" SuccessCount="{Binding ValidationCount}" ErrorCount="{Binding ValidationErrorCount}" Margin="0,5,0,0" HorizontalAlignment="Left">
</Controls:CustomControl>
Run Code Online (Sandbox Code Playgroud)
我想让我的自定义usercontrol的私有变量是ErrorCount,SuccessCount和总计数(类型为int32)Bindable所以我可以绑定值给它们.现在,当我尝试将它绑定到我的项目源时,它会给出以下错误e异常消息是"类型为'System.Windows.Data.Binding'的对象'无法转换为'System.Int32'类型'
非常感谢,米歇尔
您需要使用DependencyProperty不使用私有变量来实现属性来保存这些值.这是一个例子: -
#region public int SuccessCount
public int SuccessCount
{
get { return (int)GetValue(SuccessCountProperty); }
set { SetValue(SuccessCountProperty, value); }
}
public static readonly DependencyProperty SuccessCountProperty =
DependencyProperty.Register(
"SuccessCount",
typeof(int),
typeof(CustomControl),
new PropertyMetadata(0, OnSuccessCountPropertyChanged));
private static void OnSuccessCountPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
CustomControl source = d as CustomControl;
int value = (int)e.NewValue;
// Do stuff when new value is assigned.
}
#endregion public int SuccessCount
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1788 次 |
| 最近记录: |