简而言之:我想定义用于XAML-Button的XML ButtonSettings元素,并在应用于该Button的样式中使用所选ButtonSettings元素的子元素。
这可能吗?
XML示例:
<Buttons>
<ButtonSettings ID="Bye">
<Text lang="NL">Doei!</Text>
<Text lang="DE">Tsusch!</Text>
<Text lang="FR">Bonjour</Text>
<Text lang="EN">CU</Text>
<Image>D:\bye.PNG</Image>
</ButtonSettings>
</Buttons>
对于每个按钮,我想选择要使用的ButtonSettings,指定它的ID。然后,我想将ButtonSettings-element作为绑定或datacontext传递给样式。然后将在样式中使用所选元素的子元素(例如,文本和图像)。
选择和定义按钮的内容非常有效,只要我直接在按钮上定义它而不是在样式中定义。 这是我用于单个按钮的XAML:
<Button
x:Name="ByeButton"
DataContext="{StaticResource dataProvider}">
<Button.Content>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0">
<TextBlock.Text>
<Binding XPath="//ButtonSettings[@ID='Bye']/Text[@lang='FR']" />
</TextBlock.Text>
</TextBlock>
<Image Grid.Row="1" Width="20" Height="20">
<Image.Source>
<Binding XPath="//ButtonSettings[@ID='Bye']/Image" />
</Image.Source>
</Image>
</Grid>
</Button.Content>
</Button>
我希望能够为每个按钮定义// ButtonSettings [@ ID ='id']并让一个样式处理其余的布局按钮并放入内容和文本。 可以这样做吗?
答案 0 :(得分:1)
我认为你正在寻找一个ItemsControl并将你的按钮放在一个以你的DataType为目标的DataTemplate中。