Переплет высоты и ширины полотна Silverlight 4 - PullRequest
0 голосов
/ 01 июня 2011

Я работаю над приложениями silverlight и хочу связать ширину и высоту холста через XAML, но как я могу это связать. Поскольку ширина и высота холста я пытался связать, но в моем случае это не сработает, так что если выребята, есть какой-нибудь другой способ связывания, поэтому, пожалуйста, добавьте немного кода, чтобы я мог найти решение этой проблемы.

Я хочу связать это с помощью высоты и ширины изображения, так что иногда размер изображения1000 x 1200, а иногда и размер изображения будет 1400 x 1700, так как я могу это связать?

<Viewbox 
            Grid.Row="1" 
            Grid.Column="0"
            Grid.ColumnSpan="2">
                <Canvas
                Height="1000"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Width="1200">

                    <Image x:Name="imgEdit" 
                                Cursor="Hand"
                                MouseLeftButtonDown="imgEdit_MouseLeftButtonDown"
                                MouseMove="imgEdit_MouseMove"
                                MouseLeftButtonUp="imgEdit_MouseLeftButtonUp"   
                                HorizontalAlignment="Center"
                               VerticalAlignment="Center" 
                               RenderTransformOrigin="0.5, 0.5">

                    <Image.Effect>
                        <l:briconEffect 
                                    Brightness="{Binding ElementName=bVal, Path=Value}"
                                    Contrast="{Binding ElementName=cVal, Path=Value}"
                                    Gamma="{Binding ElementName=gVal,Path=Value}"
                                    RedRatio="{Binding ElementName=rVal,Path=Value}"
                                    BlueRatio="{Binding ElementName=blueVal,Path=Value}"
                                    GreenRatio="{Binding ElementName=greenVal,Path=Value}"/>
                    </Image.Effect>

                    <Image.RenderTransform>

                        <TransformGroup>
                            <RotateTransform x:Name="Rotator">
                                <RotateTransform.Angle>
                                    <Binding ElementName="sldVerHorizontal" Path="Value" Mode="TwoWay"/>
                                </RotateTransform.Angle>
                            </RotateTransform>

                            <ScaleTransform x:Name="Scale">
                                <ScaleTransform.ScaleX>
                                    <Binding ElementName="sldZoomInOut" Path="Value" Mode="TwoWay"/>
                                </ScaleTransform.ScaleX>
                                <ScaleTransform.ScaleY>
                                    <Binding ElementName="sldZoomInOut" Path="Value" Mode="TwoWay"/>
                                </ScaleTransform.ScaleY>
                            </ScaleTransform>
                        </TransformGroup>

                    </Image.RenderTransform>


                </Image>

                <Border
                        x:Name="maskBorder"
                        MinWidth="200"
                        MinHeight="200"
                        BorderBrush="Black"
                        BorderThickness="5"
                        Canvas.Left="250" 
                        Cursor="Hand"
                        Canvas.Top="250">

                    <Rectangle
                        MinWidth="200"
                        MinHeight="200"
                        x:Name="maskRect"
                        Canvas.Left="250" 
                        Cursor="Hand"
                        Canvas.Top="250">
                    </Rectangle>
                </Border>
            </Canvas>
        </Viewbox>

1 Ответ

0 голосов
/ 01 июня 2011

Вы можете связать свойства ширины и высоты холста, используя привязку элемента, как показано ниже

Вы также можете обернуть Canvas в ScrollViewer с фиксированной шириной и высотой, чтобы ограничить размер экрана пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...