私はWPFのプロジェクトに取り組んでおり、いくつかのユーザーコントロールを作成する必要があります。現在、データグリッド内を移動できるナビゲーションバーを開発しているため、XAMLファイルでデータグリッドオブジェクトをナビゲーションバーに渡す必要がありますが、機能していません。
私のナビゲーションバーは次のとおりです。
<my:NavigationBar Data="{Binding ElementName=dataGrid1}" HorizontalAlignment="Left" Margin="6,6,0,0" Name="navigationBar1" VerticalAlignment="Top" />
そして私のデータグリッドは次のとおりです。
<DataGrid AutoGenerateColumns="True" Margin="11,46,12,9" Name="dataGrid1" />
そして、ナビゲーションバーの背後にある私のコードは次のとおりです。
public static readonly DependencyProperty dataProperty =
DependencyProperty.Register("Data",
typeof(DataGrid), typeof(NavigationBar));
private DataGrid dataGrid;
public DataGrid Data
{
get
{ return dataGrid; }
set
{ dataGrid = value; }
}
ご覧のとおり、次のようにしてコントロールをナビゲーションバーに送信しようとしています。
Data="{Binding ElementName=dataGrid1}"
しかし、コードビハインドでdataGrid変数を使用しようとすると、dataGrid変数がnullを指しているため、例外が発生します。
それで、私は誤ってコントロールを渡しますか?私は何が間違っているのですか?私のアプローチは最も適切ですか?
前もって感謝します。