2

キーの押下を送信する別のコントロール (通常はテキスト ボックス) に関連付けるために、コントロール タイプのプロパティを持つ WPF ユーザー コントロールがあります。このプロパティは XAML で割り当てることができ、実行時にコンパイルして動作します。

しかし、IDE には「38 メソッドまたは操作が実装されていません」というエラーが表示されます。TargetControl 割り当てで。

<my:NumericButtonsControl 
 x:Name="NumericButtons" 
 TargetControl="{x:Reference Name=DataEntryTextBox}" />

問題のユーザー コントロール コードは次のようになります。

public partial class NumericButtonsControl : UserControl
{
    private Control _TargetControl;

    public Control TargetControl
    {
        get 
        {
            return _TargetControl;
        }
        set
        {
            _TargetControl = value;
        }
    }
 }
4

1 に答える 1

3

WPF アプリケーションを作成するときは、おそらく の使用を避けた方がよいでしょうx:Reference。これは、Loose XAML でのみ使用できる XAML 2009 の機能であるためです。

または、バインディングとそのElementNameプロパティを使用できます。TargetControlしかし、それが機能するには、依存関係プロパティを作成する必要があります。次に、次のようになります。

C#

public Control TargetControl
{
    get { return (Control)this.GetValue(TargetControlProperty); }
    set { this.SetValue(TargetControlProperty, value); } 
}

public static readonly DependencyProperty TargetControlProperty =
    DependencyProperty.Register("TargetControl",
                                typeof(Control),
                                typeof(NumericButtonsControl),
                                new PropertyMetadata(null));

XAML:

<my:NumericButtonsControl 
    x:Name="NumericButtons" 
    TargetControl="{Binding ElementName=DataEntryTextBox}" />
于 2013-07-14T21:03:25.653 に答える