私はそのようなタスクを持っています - ユニオン2つのコントロール(WPFToolkitと標準ツールバーからのDataGrid)のコントロールを作成する。大規模では、それがどのようにユニオンを制御するかは問題ではありません。私は必要なものを構築するために使用できる共通のプラクティスを見つけ出す必要があります。一見すると、ユーザーコントロール、つまりコントロールの構成のようなものが必要です。これは、私が全体として実装して再利用できるようにするためです。しかし、私の仕事では、XAMLでコンポジットコントロールを調整する必要があります。ですから、ツールバーとDataGridを作成すると、両方のプロパティとイベントが公開されます。だから私は、例えば、両方のXAMLで設定することができ、データグリッドの列とツールバーのバー:カスタム/ユーザコントロール
(loacalパーサが何らかの理由のためにそれらを入力していなかったので、私は、意図的にタグ名にスペースを入れる)
<MyDataGridToolBarControl>
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Header="firstColumn">
</DataGridTextColumn>
<DataGridTextColumn Header="secondColumn"/>
</DataGrid.Columns>
</DataGrid>
<ToolBar Background="{x:Null}">
<Button ToolTip="New">
<Image Source="New.png"/>
</Button>
<Button ToolTip="Save">
<Image Source="Save.png"/>
</Button>
<Button ToolTip="Delete">
<Image Source="Delete.png"/>
</Button>
</ToolBar>
</MyDataGridToolBarControl>
DataGridはDataGridから継承されたカスタムコントロールを作成し、DataGridとツールバーの両方を含むTemplateを再定義するだけです。これは私にDataGridのすべての力を与えてくれますが、私がToolbarを手に入れたいのであれば、私はコードを使ってそれを実行し、バイラルで論理的なツリーでそれを探す必要があります。 事前にお礼します...
私はこのアプローチを実装しようとしています。イベントについて?この方法でネイティブのツールバーとグリッドを処理することは可能ですか? –
GridまたはToolBarが外部に公開されている限り(どちらの場合でも)、直接インスタンス化したかのように、必要なすべてを実行できます。もちろん、これによってカプセル化が破られ、消費者がコントロールに何らかの不具合を引き起こした場合には、問題が発生する可能性があります。 – Micah
私はあなたに電子メールでサンプルプロジェクトを送信できますか?そのようなデータグリッドは双方向で実装されています。カスタムxamlスタイルを使用したDataGridのプロパティあなたはとてもうれしいですか? XAML –