こんにちは、ここで何か助けが見つかることを願っています...
プリズムとMVVMを使用してWPFアプリケーションを作成しています。
ここで見つけた添付プロパティを作成しようとしています。
私のViewModelでは、フォーカスされた要素を取得します
var control = Keyboard.FocusedElement;
それから私はします
string value = ExtraTextBehaviourObject.GetExtraText(control as UIElement);
しかし、返される値は常にnullです...誰かが私を正しい方向に向けることができますか???
アップデート
public class ExtraTextBehaviourObject : DependencyObject
{
//Declare the dependency property
public static readonly DependencyProperty ExtraTextProperty;
static ExtraTextBehaviourObject()
{
//register it as attached property
ExtraTextProperty = DependencyProperty.RegisterAttached("ExtraText", typeof(string),
typeof(ExtraTextBehaviourObject));
}
//static function for setting the text
public static void SetExtraText(UIElement uiElement, string value)
{
if (uiElement != null)
{
uiElement.SetValue(ExtraTextProperty, value);
}
}
//static function for getting the text
public static string GetExtraText(UIElement uiElement)
{
if (uiElement != null)
{
return (string)uiElement.GetValue(ExtraTextProperty);
}
return "";
}
}
XAML でコードを設定する
<dxe:TextEdit Text="{Binding Path=Customer.Comments, Mode=TwoWay}" AcceptsReturn="True" VerticalContentAlignment="Top"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Behaviors:ExtraTextBehaviourObject.ExtraText="HelloExtraText"
ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto"/>