0
我有WPF應用程序,我在一個畫布中需要將某些行設爲虛線,有些則需要爲正常線條。我的問題是什麼類型是StrokeDashArray。在msdn我看到是使用DoubleCollection但是從System.Windows.Media。 如何使StrokeDashArray的屬性在MVVM模式中使用良好的做法。如何在MVVM模式中綁定StrokeDashArray屬性wpf
我有WPF應用程序,我在一個畫布中需要將某些行設爲虛線,有些則需要爲正常線條。我的問題是什麼類型是StrokeDashArray。在msdn我看到是使用DoubleCollection但是從System.Windows.Media。 如何使StrokeDashArray的屬性在MVVM模式中使用良好的做法。如何在MVVM模式中綁定StrokeDashArray屬性wpf
如果你希望綁定到虛線數組那麼它是一個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。
是使用DoubleCollection的好習慣,因爲它在名爲System.Windows.Media的程序集中PresentationCore.dll – somePeaple
如果您不想使用DoubleCollection,那麼使用轉換器可以很容易地使用Double [ ]或其他你想用的東西。 –