Meine Seite enthält ein Registersteuerelement, das dynamisch ist. Ich möchte das TabItem TabContent zusammen mit einem Bild in dem TabItem dynamisch auffüllen. Meine Bildressourcen befinden sich bereits in einem ResourceDictionary, Icons.xaml.Benutzerdefinierter Stil für ein dynamisches Registersteuerelement in WPF
Hier ist mein Code.
<TabControl x:Name="CheckoutTabControl"
ItemsSource="{Binding Steps}"
BorderThickness="0"
Margin="10"
Style="{StaticResource WizardTabControlStyle}" SelectedIndex="0">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<Image Source="{Binding TabImage}"/>
<TextBlock Text="{Binding TabHeader}"/>
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<Frame NavigationUIVisibility="Hidden" Source="{Binding TabContent}"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Die TabControl Styles enthält 3 verschiedene Stile: FirstTabStyle, TabStyle und LastTabStyle. Wie binde ich die Stile und die Bildressource in das Steuerelement ein?
Ich kann die Stile und Bilder für die Elemente nicht laden. My-Code hinter:
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
LoadReplacementSteps();
}
private void LoadReplacementSteps()
{
List<PlacementSteps> rSteps = new List<PlacementSteps>();
rSteps.Add(new PlacementSteps() { TabImage = "pairing", TabHeader = "Pairing", TabContent = "View/PairData.xaml" });
rSteps.Add(new PlacementSteps() { TabImage = "write-data", TabHeader = "Write Data", TabContent = "View/WriteData.xaml" });
rSteps.Add(new PlacementSteps() { TabImage = "steering", TabHeader = "Read Data", TabContent = "View/ReadData.xaml" });
Steps = rSteps;
}
PlacementSteps Klasse:
public class PlacementSteps
{
public string TabImage { get; set; }
public string TabHeader { get; set; }
public string TabContent { get; set; }
}
Mein Resouces:
<Canvas x:Key="steering" Width="24" Height="24">
<Path Data="M12,2A10,10 0 0,0 2,..." />
</Canvas>
<Canvas x:Key="write-data" Width="24" Height="24">
<Path Data="M17,9H7V7H17M17,13H7V11H17M14,..." />
</Canvas>
<Canvas x:Key="pairing" Width="24" Height="24">
<Path Data="M37.24749,26.223C36.273693,...."/>
</Canvas>
Vielen Dank im Voraus ..
Was ist Schritte? Wenn Sie nur eine Liste haben, müssen Sie nach dem Laden der Ersatzschritte Ihren Datenkontext festlegen. –
Schritte ist die ItemSource für TabControl, ich bin in der Lage, es zu binden. Das Problem ist, dass ich die Stile für dynamische Registerkartenelemente nicht anwenden kann. –
Ich glaube, dass Sie Ihre PlacementSteps-Klasse zeigen müssen. Was ist TabImage? Wie ich sehen kann, ist es String, aber Ihre Ressourcen sind Canvas. Sie sollten mindestens einen reproduzierbaren Code posten. –