2013-12-11 1 views
1

내 벡터 그래픽을 사용하는 WPF 앱에서 ResourceDictionary를 통해 액세스하고 있습니다. 지금 벡터 그래픽으로 노드를 시작하는 데 사용 된 기본 이미지를 대체하고 싶은 TreeView를 작성 중입니다. 노드에 대한 다른 이미지를 정의하는 것은 실제 이미지 인 경우 조각 모음입니다. 그러나 Path 요소를 TreeView의 이미지 소스로 사용할 수있는 방법이 있습니까?Shapes.Path 데이터를 WPF에서 이미지 원본으로 사용할 수 있습니까?

저는 사이트의 다른 영역에서 벡터 그래픽을 사용하고 있기 때문에 실제 이미지보다 벡터를 사용하고 싶습니다. 한 이미지 소스 만 있으면 좋을 것입니다. 다음과 같이

ResourceDictionary에있는 항목의 예는 다음과 같습니다

<ControlTemplate x:Key="MyPath"> 
    <Viewbox> 
     <Grid> 
     <Path Data="F1M2357.31445,2509.047846875L2456.35742,2509.047846875C2461.00781,2509.047846875,2464.78906,2504.952146875,2464.78906,2499.916996875C2464.78906,2494.881836875,2461.00781,2490.785156875,2456.35742,2490.785156875L2357.31445,2490.785156875C2352.66602,2490.785156875,2348.88477,2494.881836875,2348.88477,2499.916996875C2348.88477,2504.952146875,2352.66602,2509.047846875,2357.31445,2509.047846875z" Fill="White" Stretch="Fill" />    
     </Grid> 
    </Viewbox> 
</ControlTemplate> 

답변

0

나는 당신이 무슨 말을하는지 기본 이미지 모르겠지만, WPF, 당신은 당신의 항목에 대한 DataTemplate를 정의 할 수 있습니다 선택한 UI 요소가 포함되어 있습니다. 따라서, 귀하의 벡터 그래픽을 표시 할 Image를 사용하는 이유가 없습니다 :

<TreeView.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
      <Path Data="F1M2357.31445,2509.047846875L2456.35742,2509.047846875C2461.00781,2509.047846875,2464.78906,2504.952146875,2464.78906,2499.916996875C2464.78906,2494.881836875,2461.00781,2490.785156875,2456.35742,2490.785156875L2357.31445,2490.785156875C2352.66602,2490.785156875,2348.88477,2494.881836875,2348.88477,2499.916996875C2348.88477,2504.952146875,2352.66602,2509.047846875,2357.31445,2509.047846875z" Fill="White" Stretch="Fill" /> 
      <ContentPresenter Content="{Binding}" Margin="5,0,0,0" /> 
     </StackPanel> 
    </DataTemplate> 
</TreeView.ItemTemplate> 
+0

당신이 RibbonButton에 대한 LargeImageSource로 사용하려면? –

+0

[RibbonButton.LargeImageSource 속성] (http://msdn.microsoft.com/en-us/library/system.windows.controls.ribbon.ribbonbutton.largeimagesource (v = vs.110) .aspx)에서 볼 수 있듯이,) MSDN에서이 속성은 'ImageSource'유형입니다. 이것은'Path' 객체와 아무런 관련이 없으므로 직접 LargeImageSource 값으로 설정할 수 없습니다. 먼저 이미지를 만들어야합니다. – Sheridan

+0

[Visual Source]에서 [System.Drawing.Image from Resources]에 대한 내 대답에서 이미지를 만드는 방법을 찾을 수 있습니다 (http://stackoverflow.com/questions/21397819/system-drawing-image- from-imagesource-in-resources/21402248 # 21402248) 여기에 스택 오버플로에 대한 질문이 있습니다. – Sheridan