2016-09-23 54 views
0

之間的結合,我有以下滑塊:2個XAML窗口

<Slider x:Name="uiScaleSlider" Value="1" Minimum="0.5" Maximum="1.5" /> 

影響縮放變換:

<ScaleTransform 
     CenterX="0" 
     CenterY="0" 
     ScaleX="{Binding ElementName=uiScaleSlider,Path=Value}" 
     ScaleY="{Binding ElementName=uiScaleSlider,Path=Value}" /> 

但是他們每個都在單獨的窗口(即滑塊上的「選項'屏幕和縮放轉換在主窗口上)。

如何綁定兩個窗口,以便滑塊和縮放轉換可以連接並因此進行操作?

+0

你有這個視圖模型? – Eldho

+0

您應該有一個包含實際值的視圖模型,然後將這兩個視圖綁定到相同的視圖模型並相應地顯示值。 – LordWilmore

回答

0

您可以設法讓App變量,它可以在視圖之間共享。我不確定它更清潔的方式。但我在製作中有類似的東西。

在你App.xaml.cs

爲綁定創建模型。

private static int _minimumValue; 
public static int MinimumValue 
{ 
     get 
     { 
      return _minimumValue; 
     } 
     set 
     { 
      _minimumValue = value; 
      RaisePropertyChangedStatic("MinimumValue"); 
     } 
} 

選項屏幕的XAML應該像這樣

<Slider x:Name="uiScaleSlider" Value="1" 
     Minimum={Binding MinimumValue, Source="{x:Static Application.Current}" /> 

MainWindow.Xaml

<ScaleTransform 
    CenterX="0" 
    CenterY="0" 
    ScaleX={Binding MinimumValue, Source="{x:Static Application.Current}" /> 
+1

是的,這工作正常,謝謝! – Whirlwind991

+0

很高興幫助,如果你找到更好的解決方案,請讓我知道 – Eldho