내 페이지에는 동적 인 탭 컨트롤이 있습니다. TabItem의 이미지와 함께 TabItem, TabContent를 동적으로 채우고 싶습니다. My Image 리소스는 이미 ResourceDictionary, Icons.xaml에 있습니다.wpf의 동적 탭 컨트롤을위한 사용자 정의 스타일
여기 내 코드입니다. FirstTabStyle, TabStyle 및 LastTabStyle :
<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>
을 TabControl 스타일은 3 가지 스타일이 포함되어 있습니다. 컨트롤에서 스타일과 이미지 리소스를 어떻게 바인딩합니까?
항목의 스타일과 이미지를로드 할 수 없습니다. 뒤에 내 코드 :
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 등급 :
public class PlacementSteps
{
public string TabImage { get; set; }
public string TabHeader { get; set; }
public string TabContent { get; set; }
}
내 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>
감사합니다 ..
단계 란 무엇입니까? 목록 일 경우 대체 단계를로드 한 후 datacontext를 설정해야합니다. –
Steps는 TabControl의 ItemSource입니다. 바인딩 할 수 있습니다. 문제는 동적 탭 항목에 스타일을 적용 할 수 없다는 것입니다. –
PlacementSteps 클래스를 보여줘야한다고 생각합니다. TabImage 란 무엇입니까? 볼 수 있듯이 문자열이지만 리소스는 캔버스입니다. 최소한 재현 가능한 코드를 게시해야합니다. –