Hallo,
nachdem nun die Frage nach den Settings geklärt wurde und ich Benutzereinstellungen speichern kann, würde ich diese gerne sinnfoll anwenden.
Ich habe in meinem Projekt eine Listbox, die mit einem DataTemplate "bestückt" ist:
Jetzt möchte ich dem Benutzer in den Settings die Wahl geben, wie die Elemente in der Listbox dargestellt werden.
Ich habe auch schon ein Zweites DataTemplate erstellt. Dies möchte ich anzeigen wenn ein Property im ViewModel "true" ist.
Ich wollte es mit DataTemplates umsetzen, habe es aber leider nicht hinbekommen.
Die Lösung wird wieder relativ einfach sein - ich komme aber einfach nicht drauf
Wenn jemand einen Denkanstoß hätte, würde ich mich sehr freuen.
Viele Grüße
Florian
nachdem nun die Frage nach den Settings geklärt wurde und ich Benutzereinstellungen speichern kann, würde ich diese gerne sinnfoll anwenden.
Ich habe in meinem Projekt eine Listbox, die mit einem DataTemplate "bestückt" ist:
XML-Quellcode
- <ListBox Grid.Row="1" Margin="0,10,0,0" ItemsSource="{Binding AllSnippetsView}" SelectedItem="{Binding SelectedSnippet}">
- <ListBox.GroupStyle>
- <GroupStyle>
- <GroupStyle.ContainerStyle>
- <Style TargetType="{x:Type GroupItem}">
- <Setter Property="Margin" Value="0,0,0,5"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type GroupItem}">
- <Expander IsExpanded="True"
- BorderThickness="1,1,1,5">
- <Expander.Header>
- <DockPanel Margin="0,0,10,0">
- <TextBlock FontSize="15" FontWeight="Bold"
- Text="{Binding Name.Name}"
- Margin="5,0,20,0"
- />
- <TextBlock FontSize="15" HorizontalAlignment="Right" FontWeight="Bold"
- Text="{Binding Path=ItemCount}"/>
- </DockPanel>
- </Expander.Header>
- <Expander.Content>
- <ItemsPresenter Margin="0,6,0,0"/>
- </Expander.Content>
- </Expander>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </GroupStyle.ContainerStyle>
- </GroupStyle>
- </ListBox.GroupStyle>
- <ListBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Grid.Column="1" Margin="5">
- <TextBlock FontSize="14" FontWeight="Bold" Text="{Binding Path=Name}" />
- <StackPanel Orientation="Horizontal">
- <TextBlock FontSize="13" >
- <Run FontWeight="DemiBold" Text="Tags: "/>
- <Run Text="{Binding Tags, Mode=OneWay}"/>
- </TextBlock>
- </StackPanel>
- </StackPanel>
- </DataTemplate>
- </ListBox.ItemTemplate>
- <ListBox.ContextMenu>
- <ContextMenu>
- <MenuItem Icon="{StaticResource EditSnippet}" Command="{Binding EditSnippetCommand}" Header="Bearbeiten"></MenuItem>
- <MenuItem Icon="{StaticResource Delete}" Header="Löschen" Command="{Binding DeleteSnippetCommand}"></MenuItem>
- </ContextMenu>
- </ListBox.ContextMenu>
- </ListBox>
Jetzt möchte ich dem Benutzer in den Settings die Wahl geben, wie die Elemente in der Listbox dargestellt werden.
Ich habe auch schon ein Zweites DataTemplate erstellt. Dies möchte ich anzeigen wenn ein Property im ViewModel "true" ist.
Ich wollte es mit DataTemplates umsetzen, habe es aber leider nicht hinbekommen.
Die Lösung wird wieder relativ einfach sein - ich komme aber einfach nicht drauf
Wenn jemand einen Denkanstoß hätte, würde ich mich sehr freuen.
Viele Grüße
Florian
----
WebApps mit C#: Blazor
WebApps mit C#: Blazor