Перетащите N drop изображений в окне просмотра - PullRequest
0 голосов
/ 08 сентября 2010

У меня есть пользовательский контроль с 6 окнами просмотра, у каждого может быть изображение.Я не установил ширину или высоту пользовательского элемента управления (даже окна просмотра).Сначала окна просмотра пусты. Я могу добавлять изображения динамически.

<Grid x:Name="DashBoardGrid" DockPanel.Dock="Right">
        <Grid.RowDefinitions>
            <RowDefinition Height="20"></RowDefinition>
            <RowDefinition Height="200*"></RowDefinition>
            <RowDefinition Height="10"></RowDefinition>
            <RowDefinition Height="200*"></RowDefinition>
            <RowDefinition Height="20"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="20"></ColumnDefinition>
            <ColumnDefinition Width="200*"></ColumnDefinition>
            <ColumnDefinition Width="10"></ColumnDefinition>
            <ColumnDefinition Width="200*"></ColumnDefinition>
            <ColumnDefinition Width="10"></ColumnDefinition>
            <ColumnDefinition Width="200*"></ColumnDefinition>
            <ColumnDefinition Width="20"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Border Grid.Row="1" Grid.Column="1">
            <DockPanel x:Name="dockPanel1" Margin="10,30,10,10" >
                <TextBlock x:Name="TitleTxtblk1" DockPanel.Dock="Top" FontSize="10pt" TextWrapping="Wrap">screen 1</TextBlock>
                <Viewbox x:Name="Viewbox1" MouseDown="Viewbox_MouseDown" MouseEnter="ScaleUp" MouseLeave="ScaleDown" 
                         PreviewMouseLeftButtonDown="DockPanel_PreviewMouseLeftButtonDown" PreviewMouseMove="dockPanel_MouseMove" 
                         Drop="dockPanel_Drop"  DragEnter="dockPanel_DragEnter" AllowDrop="True">

                </Viewbox>
            </DockPanel>
        </Border>
        <Border Grid.Row="1" Grid.Column="3" >
            <DockPanel x:Name="dockPanel2" Margin="10,30,10,10" >
                <TextBlock x:Name="TitleTxtblk2" DockPanel.Dock="Top" FontSize="10pt" TextWrapping="Wrap">screen 2</TextBlock>
                <Viewbox x:Name="Viewbox2" MouseDown="Viewbox_MouseDown" MouseEnter="ScaleUp" MouseLeave="ScaleDown" 
                         PreviewMouseLeftButtonDown="DockPanel_PreviewMouseLeftButtonDown" PreviewMouseMove="dockPanel_MouseMove" 
                         Drop="dockPanel_Drop"  DragEnter="dockPanel_DragEnter" AllowDrop="True">

                </Viewbox>
            </DockPanel>
        </Border>

Я хочу перетащить изображения из одного окна просмотра в любое другое пустое окно просмотра.Но когда окно просмотра пусто, оно вообще не видно.потому что у него нет высоты или ширины.Так что я не могу уронить изображение на него.

Так что же мне нужно, чтобы, когда в каком-либо одном окне просмотра было изображение, все окна просмотра имели одинаковую высоту и ширину?Любое другое решение приветствуется.

1 Ответ

0 голосов
/ 08 сентября 2010

Вы можете обрабатывать события перетаскивания в родительском элементе управления, например, Border.И тогда вам, вероятно, понадобится ссылка на ваш viewbox в вашем методе перетаскивания.Попробуйте это:

<Border Tag="{Binding ElementName=Viewbox2,Path=.} … >

и в вашем методе перетаскивания

ViewBox v = (sender as Border).Tag as ViewBox;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...