I am developing an avalonia wpf application, and I registered an AttachedProperty "IsFocused" as following:
public class FocusExtension
{
public static readonly AttachedProperty<bool> IsFocusedProperty =
AvaloniaProperty.RegisterAttached<Control, bool>("IsFocused", typeof(FocusExtension));
public static bool GetIsFocused(Control element)
{
return element.GetValue(IsFocusedProperty);
}
public static void SetIsFocused(Control element, bool value)
{
element.SetValue(IsFocusedProperty, value);
OnIsFocusedPropertyChanged(element, value);
}
private static void OnIsFocusedPropertyChanged(
Control element,
bool e)
{
if (e)
{
element.Focus();
}
}
}
And apply it in xaml like that:
<Button Content="Test" u:FocusExtension.IsFocused="{Binding SomeBoolPropertyInViewModel}"/>
But it seems not work when "SomeBoolPropertyInViewModel" is set to be true from my ViewModel,
Could someone give me an example or hint to implement this work? Thanks.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…