Moin,
ich hoffe, dass ich dieses mal nicht wieder was eiinfaches übersehen habe.
In einem Formular gibt es ein Grid mit gebundener ItemSource. In einigen Spalten stehen Werte aus der Datenquelle, in anderen Button. Ich benötige jetzt für einen Button ein Icon, das vom Inhalte des Objektes abhängt, das in den anderen Spalten der Zeile abhängt.
Also, im Grid sind in den Zeilen Daten aus einem Auftragsobjekt angezeigt und Buttons mit verschiedenen Funktionalitäten.
Für einen Button müsste das Icon ebenfalls in Abhängigkeit von Objekteigenschaften gewählt werden. Mein Ansatz sieht so aus:
Wie müsste das Binding der
Der Vollständigkeit halber hier mein Konverter
Gruß
MQ
ich hoffe, dass ich dieses mal nicht wieder was eiinfaches übersehen habe.
In einem Formular gibt es ein Grid mit gebundener ItemSource. In einigen Spalten stehen Werte aus der Datenquelle, in anderen Button. Ich benötige jetzt für einen Button ein Icon, das vom Inhalte des Objektes abhängt, das in den anderen Spalten der Zeile abhängt.
Also, im Grid sind in den Zeilen Daten aus einem Auftragsobjekt angezeigt und Buttons mit verschiedenen Funktionalitäten.
Für einen Button müsste das Icon ebenfalls in Abhängigkeit von Objekteigenschaften gewählt werden. Mein Ansatz sieht so aus:
XML-Quellcode
- <DataGridTemplateColumn Width="50">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <Button
- Command="{Binding DataContext.MenuItemClickCommand,
- RelativeSource={RelativeSource FindAncestor,
- AncestorType={x:Type UserControl}}}"
- CommandParameter="ZuVonLeitung"
- Width="auto"
- ToolTip="{x:Static p:Translate.ZurFreigabe}"
- Style="{StaticResource IconButtonInlayStyle}"
- IsEnabled="{Binding Content,
- RelativeSource={RelativeSource AncestorType={x:Type ContentPresenter}},
- Converter={StaticResource IsEnabledConverter},
- ConverterParameter='Worker.Freigabe'}">
- <Button.Content>
- <Image Source="{Binding XYZ,
- RelativeSource={RelativeSource AncestorType={x:Type ContentPresenter}},
- Converter={StaticResource weiterzurückConverter}}"
- Style="{StaticResource IconButtonIconStyle}" />
- </Button.Content>
- </Button>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
Wie müsste das Binding der
Source
des Image
aussehen? Das mit dem IsEnabled
klappt, aber das Image
sitzt eine Ebene tiefer und da findet die RelativeSource
nicht das Auftragsobjekt sondern den Button
.Der Vollständigkeit halber hier mein Konverter
C#-Quellcode
- public class WeiterZurückConverter : IValueConverter
- {
- public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
- {
- var o = value as OrderOpen;
- if(o!=null)
- {
- if (!o.LabHasFinished) return "/Images/arrow-thick-right-8x.png";
- else return "/Images/arrow-thick-left-8x.png";
- }
- return "/Images/loop-8x.png";
- }
- public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- }
Gruß
MQ