Привет, я хочу сделать следующее в 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>
UPDATE:
Теперь я реализовал это свойство как свойство зависимости, но, похоже, назначения не происходит, хотя я назначаю его в XAML. Но нет ни ошибки компиляции, ни времени выполнения:
в xaml:
FocusTarget="{Binding ElementName=myCtrl}"
в CS:
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); }
}