2013-11-26 36 views
0

我正在開發一個控件(項目控件)以顯示房間中的框(例如袋子)。 如果房間大小是10 * 10英尺,那麼我必須調整它以適應我的屏幕。 房間中的所有物體也需要縮放。縮小項目中的項目控制

在我的視圖模型中,我收集了具有實際尺寸的這些對象(即盒子)。

我的項目控件的ItemPanel就像一個可以自由移動對象的畫布。

當前在MeasurePanel或Arrange覆蓋itemsPanel我得到面板的高度和寬度。有了這個高度和寬度,我可以在安排時將縮放比例應用到對象上。

所以我的問題是,方法更好還是有更好的選擇。

問候 SAURABH Dighade

+0

我相信你是在一條正確的道路上。 – Somedust

+0

@Somedust感謝您的回覆 – SD13

+0

可能您可以嘗試使用ScrollViewer並設置其大小。 ScrollViewer將縮放 – Sasha

回答

0

這段代碼

<Grid x:Uid="Grid_1" Margin="10" ToolTip="{Binding ToolTip}"> 
    <StackPanel x:Uid="StackPanel_1" Grid.Row="1" Orientation="Horizontal"> 
     <Slider x:Uid="ScaleSlider" x:Name="ScaleSlider" Minimum="0.2" Maximum="5" LargeChange="0.05" SmallChange="0.01" 
       Value="{Binding ScaleSlider}" IsSnapToTickEnabled="True" TickFrequency="0.1" Visibility="Hidden"/> 
    </StackPanel> 

    <ScrollViewer x:Uid="ScrollViewer_1" Grid.Row="1" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> 
     <Border x:Uid="AlStatusBorder" BorderBrush="#101010" BorderThickness="3" 
     Background="{Binding Color}" 
     x:Name="AlStatusBorder" 
     Padding="5" 
     CornerRadius="10" HorizontalAlignment="Center" VerticalAlignment="Top"> 
      <Grid x:Uid="Grid_2"> 
      <!-- Tachometer Gauge --> 
       <gauge:CircularGauge x:Uid="gauge:CircularGauge_1" Grid.Row="1" Grid.Column="2" FrameType="CircularTopGradient" Width="150" Height="150" Radius="75" Background="#444444" 
         RimBrush="#444444"> 
        <gauge:CircularGauge.LayoutTransform > 
         <ScaleTransform x:Uid="ScaleTransform_1" ScaleX="{Binding ElementName=ScaleSlider, Path=Value}" 
           ScaleY="{Binding ElementName=ScaleSlider, Path=Value}"/> 
        </gauge:CircularGauge.LayoutTransform> 
       </gauge:CircularGauge>    
      </Grid> 
     </Border> 
    </ScrollViewer> 
</Grid> 

在grid_2我實現了我的用戶看看。當我更改一個屬性ScaleSlider時,元素變得更大或更小,並且我的用戶控件也會改變它的大小。可能是你在找什麼。至少我可以移動這個userControl;僅通過更改一個屬性更改大小。請注意,Im綁定ScaleX和ScaleY值

+0

謝謝我會嘗試這個,如果這個工程,我會標記爲答案。 – SD13

+0

嗨,我有規模,我不能使用scaleTransform。我主要關心的是我應該在哪裏應用比例。即縮放不是應用它的問題。但感謝您的期待和迴應 – SD13

+0

您是否像使用一樣使用它? – Sasha