2016-01-18 39 views
0

我有WPF應用程序,我在一個畫布中需要將某些行設爲虛線,有些則需要爲正常線條。我的問題是什麼類型是StrokeDashArray。在msdn我看到是使用DoubleCollection但是從System.Windows.Media。 如何使StrokeDashArray的屬性在MVVM模式中使用良好的做法。如何在MVVM模式中綁定StrokeDashArray屬性wpf

回答

0

如果你希望綁定到虛線數組那麼它是一個DoubleCollection,所以你做這樣的事情:

private DoubleCollection _Dashes = new DoubleCollection { 1, 2 }; 
    public DoubleCollection Dashes 
    { 
     get { return this._Dashes;} 
     set { this._Dashes = value; RaisePropertyChanged(); } 
    } 

然後在XAML:

<Line Stroke="Black" StrokeThickness="2" StrokeDashArray="{Binding Dashes}" X1="0" Y1="50" X2="100" Y2="50"/> 

如果你正在創建一個動態數組的Canvas元素,那麼你需要創建一個ItemsControl並將ItemsControl.Panel設置爲一個Canvas。然後,您通常會使用Item.Template爲每個元素聲明行,並使用Data Triggers在不同的行/短劃線類型之間選擇一個Style。

+0

是使用DoubleCollection的好習慣,因爲它在名爲System.Windows.Media的程序集中PresentationCore.dll – somePeaple

+0

如果您不想使用DoubleCollection,那麼使用轉換器可以很容易地使用Double [ ]或其他你想用的東西。 –

相關問題