2013-12-11 21 views
1

我在我的WPF應用程序中使用了一些矢量圖形,我通過ResourceDictionary訪問它。我現在正在創建一個TreeView,我想用矢量圖形替換用於給節點加上前綴的默認圖像。爲節點定義不同的圖像,如果它們是真實圖像,那麼它就是一塊塊蛋糕,但是有什麼方法可以將Path元素用作TreeView中的圖像源?Can 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

如果你想用它作爲LargeImageSource的RibbonButton? –

+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

你可以找到如何從我的答案[從資源中的ImageSource的System.Drawing.Image]中的'Visual'創建一個圖像(http://stackoverflow.com/questions/21397819/system-drawing-image-來自-sourceource-in-resources/21402248#21402248)關於堆棧溢出的問題。 – Sheridan

相關問題