我有一個自定義控件創建的實例在我的視圖中,在我的自定義控件(一個文本框)我有一個依賴項屬性設置綁定到文本值,這一切正常工作和更新。不過,我現在想要將我的視圖的依賴項屬性綁定到我的控件的依賴項屬性,但我無法將其完成。繼承人我的意思Silverlight綁定到自定義控件中的依賴屬性
控制選位
<TextBox x:Name="txtBox"
GotFocus="txtBox_GotFocus"
LostFocus="txtBox_LostFocus"
Grid.Row="0"
Text="{Binding TextValueProperty, Mode=TwoWay}"/>
public DependencyProperty TextValueProperty{ get; set; }
public int TextValue
{
get { return (int)GetValue(TextValueProperty); }
set
{
if ((value >= MinValue) && (value <= MaxValue))
{
SetValue(TextValueProperty, value);
}
}
}
public CustomControl()
{
TextValueProperty = DependencyProperty.Register("TextValueProperty ", typeof(int), typeof(CustomControl), new PropertyMetadata(null));
}
查看所選位
<my:CustomControl x:Name="TxtBoxInt" Grid.RowSpan="2" Grid.Row="0" Grid.Column="1"/>
我想這樣做:
<my:CustomControlx:Name="TxtBoxInt" TextValueProperty="{Binding DestinationProperty}" Grid.RowSpan="2" Grid.Row="0" Grid.Column="1"/>
和代碼視圖
public DependencyProperty DestionationProperty;
public int Destination
{
get
{
return (int)GetValue(DestionationProperty);
}
set
{
SetValue(DestionationProperty, value);
}
}
public CustomControl()
{
DestionationProperty = DependencyProperty.Register("DestionationProperty", typeof(int), typeof(CustomControl), null);
InitializeComponent();
}
那麼我需要做什麼才能綁定我的int值目的地在我的視圖中具有與我的自定義控件的TextValue相同的值?謝謝:)
PS喜灰
+1這是一個很好的問題,它顯示了很多誤解和陷阱。可能需要一些時間才能提供完整的答案。關於需求的問題,您正試圖創建一個只允許輸入數字的控件,並且必須限制爲最小/範圍?您無法在SDK或Silverlight Toolkit中找到控件,例如設計'NumericUpDown'控件的樣式? – AnthonyWJones 2010-08-03 14:15:45
這是非常有限的版本,它奠定了與該字段的值的簡單綁定的基礎。更多的功能最終將被要求,但我也可能在做其他控制時遇到同樣的問題,所以最好先解決這個問題。我相信什麼即時丟失是一些財產提出的東西,我沒有任何運氣實施工作 – lee 2010-08-03 15:45:10