<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="Window1">
<Grid>
<local:ElementType x:Name="FirstElementName">
<local:ElementType x:Name="SecondElementName" Grid.Column="1" Grid.Row="1" />
</local:ElementType>
</Grid>
</Window>
そして、これは他のファイルに...カスタムXAML要素をネストする方法はありますか
<Grid x:Name="InternalElementName" x:Class="WpfApplication1.ElementType"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1">
</Grid>
そして...
public partial class ElementType : System.Windows.Controls.Grid { }
すべてが第二の要素を除いて、正常に動作しています。
エラーが発生しました。
要素 'ElementType'に名前属性値 'SecondElementName'を設定できません。 'ElementType'は、別のスコープで定義されたときにすでに登録されている名前を持つ要素 'ElementType'のスコープの下にあります。
カスタムグリッドが正しく定義されています。私はプロパティを取る場合のコードは、このエラーを引き起こしている何Window1.xaml
に--- ---
x:Name="SecondElementName"
をコンパイルして実行しますか?どのように私はそれを回避するのですか?これらのカスタムグリッドの1つをもう1つのネスト内にネストする必要があります。また、それらの両方に名前が必要なので、それらを別々のデータにバインドすることができます。
ありがとうございます。あなたが他の内いずれかをしたい場合は
これも興味深いですが、それでも私は親と子のElementTypeオブジェクトに異なる名前を付けることができません。誰も私は彼らがお互いから別々に名前を付けられる方法を知っていますか? – Giffyguy
ああ、申し訳ありません...上記の私の答えを完了します。 – Ludovic