您好我想這樣做在XAML如下:WPF:子元素分配給財產XAML
我在我的控制類的屬性FocusTarget我想分配從目前的類中的UIElement。這在XAML中可能嗎?
<my:BaseControl x:Class="SectionControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
FocusTarget="myCtrl"> // this fails
..
<my:CodeBlockControl x:Name="myCtrl" />
..
</my:BaseControl>
更新: 我現在執行的財產依賴屬性,但它似乎沒有分配occures,雖然我在XAML分配給它。但沒有編制,也沒有運行時錯誤:
在XAML:
在CSFocusTarget="{Binding ElementName=myCtrl}"
:
public static readonly DependencyProperty FocusTargetProperty;
static BaseControl()
{
FrameworkPropertyMetadata metadata = new FrameworkPropertyMetadata(null);
FocusTargetProperty = DependencyProperty.Register("FocusTarget", typeof(FrameworkElement), typeof(BaseControl), metadata, Validate);
}
public FrameworkElement FocusTarget
{
get { return GetValue(FocusTargetProperty)as FrameworkElement; }
set { SetValue(FocusTargetProperty, value); }
}
您的「驗證」回調可以以某種方式停止分配?可能值得暫時評論它,看它是否開始工作。 – 2009-09-19 01:41:22
不,它是一種什麼都不做,但總是返回真實的方法 – codymanix 2009-09-19 11:22:03
我試圖快捷地製作一個完整的控件時沒有設置屬性的問題;我的自定義控件來自UIElement。教訓:從手冊派生出來,就像手冊說的那樣! – 2010-03-12 15:15:24