私はXAML & WPFの新機能ですので、定期的なテーブルを作成する学習プロジェクトを試しています。私はXMLで要素データのセットを持っています。さて、これは静的に私の基本となるXMLデータにバインドするボタンを作成しますXAML動的Xpath式を使用したコントロールテンプレートのデータバインド
<ControlTemplate x:Key="elementTemplate" TargetType="{x:Type Button}">
<Grid>
<Rectangle x:Name="backingRect" Margin="2" StrokeThickness="0" RadiusX="3" RadiusY="3" Fill="{TemplateBinding Property=Button.Background}">
<Rectangle.Effect>
<DropShadowEffect BlurRadius="8"/>
</Rectangle.Effect>
</Rectangle>
<Viewbox>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.2*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="0.2*"/>
</Grid.RowDefinitions>
<TextBlock FontWeight="DemiBold" TextAlignment="Center" Grid.Row="0" diag:PresentationTraceSources.TraceLevel="High">
<TextBlock.Text>
<Binding Source="{StaticResource elementData}">
<Binding.XPath>atom[@id='H']/scalar[@dictRef='bo:atomicNumber']</Binding.XPath>
</Binding>
</TextBlock.Text>
</TextBlock>
<TextBlock FontWeight="Bold" TextAlignment="Center" FontSize="28" Grid.Row="1" >
<TextBlock.Text>
<Binding Source="{StaticResource elementData}" >
<Binding.XPath>atom[@id='H']/label[@dictRef='bo:symbol']/@value</Binding.XPath>
</Binding>
</TextBlock.Text></TextBlock >
<TextBlock FontWeight="DemiBold" TextAlignment="Center" Grid.Row="2">1.0021</TextBlock>
</Grid>
</Viewbox>
</Grid>
</ControlTemplate>
:私は、グリッド内のボタンとして各化学要素のために、この情報を表示するには、XAMLでコントロールテンプレートを定義しています。私がしたいのは、@id={TemplateBinding Button.Content}
のようなこのテンプレートを使用するボタンのコンテンツを取得する式に置き換えることです(そのようなことがあった場合)。したがって、テキストコンテンツのボタンを作成すると'彼'は、XMLファイル内の質量、原子番号などの対応するデータを取得します。このような動的XPathをXAMLで指定し、それをコントロールテンプレートのプロパティにバインドする構文は何ですか?
1年後にあなたの答えをありがとう!私はそれを行ってあげるよ。 – deadlyvices