RoutedUICommand.Text im WPF-Control verwenden

01/12/2008 - 12:04 von Georg Gungl | Report spam
Hallo NG,

habe folgende Frage:
Wenn ich eigene RoutedUICommands bzw. ApplicationCommands verwende, wie kann
ich die Text-Definition verwenden?!?
So wird es nicht gefunden:

<Button Command="ApplicationCommands.Save"
HorizontalContentAlignment="Left">
<StackPanel Orientation="Horizontal" Margin="1">
<Image Stretch="None" Source="pack://application:,,/Resources/Save.ico"
/>
<Rectangle Width="10" />
<Label Content="{StaticResource ApplicationCommands.Save.Text}"
VerticalAlignment="Center" />
</StackPanel>
</Button>


Menü-Elemente machen es dagegen "von Haus aus" richtig:

<MenuItem Command="ApplicationCommands.Delete" />
<MenuItem Command="{x:Static
custom:UcLicenceTree.AddNewMasterStrukturItemCommand}" />


Ciao:
GG ;-)

*gespanntaufdieLösungwartend*
 

Lesen sie die antworten

#1 Elmar Boye
01/12/2008 - 14:23 | Warnen spam
Hallo Georg,


Georg Gungl schrieb:
Hallo NG,

habe folgende Frage:
Wenn ich eigene RoutedUICommands bzw. ApplicationCommands verwende,
wie kann ich die Text-Definition verwenden?!?



Wie so oft lautet die Antwort in solchen Fàllen: Data Binding.

So wird es nicht gefunden:

<Button Command="ApplicationCommands.Save"
HorizontalContentAlignment="Left">
<StackPanel Orientation="Horizontal" Margin="1">
<Image Stretch="None" Source="pack://application:,,/Resources/Save.ico"
/>
<Rectangle Width="10" />
<Label Content="{StaticResource ApplicationCommands.Save.Text}"
VerticalAlignment="Center" />
</StackPanel>
</Button>



hier bietet sich RelativeSource an:

<Button Command="ApplicationCommands.Save"
HorizontalContentAlignment="Left">
<StackPanel Orientation="Horizontal" Margin="2">

<Label Content="{Binding
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Button}},
Path=Command.Text}"
VerticalAlignment="Center"
/>
</StackPanel>
</Button>


Menü-Elemente machen es dagegen "von Haus aus" richtig:



Da ist es mehr oder weniger so verdrahtet.

Gruß Elmar

Ähnliche fragen