我使用uwp社区模板制作单页应用程序,使用templateitem添加gridview并激活多选。在那里,我添加了#34; CanDrag"和事件" DragStarting"关于itemtemplate。
结果是:当堆栈面板上的clic(蓝色)或图像包含在itemtemplate中时没有选择。
有什么想法吗?
我的代码,只需将网格添加到sampleorder上的默认主视图插件。
<Page.Resources>
<DataTemplate x:Key="detTemplate" x:DataType="model:SampleOrder">
<StackPanel Height="64" Orientation="Horizontal" CanDrag="True" DragStarting="Items_DragStarting" >
<FontIcon Tag="{x:Bind HashIdentIcon}" FontSize="40" Glyph="{x:Bind SymbolAsChar}" VerticalAlignment="Center" />
<StackPanel Margin="12,0,0,0" VerticalAlignment="Center" Width="150" Background="Aqua">
<TextBlock Text="{x:Bind Company}" Tag="{x:Bind HashIdentTitle}" Style="{ThemeResource ListTitleStyle}" />
<TextBlock Text="{x:Bind Status}" Style="{StaticResource ListSubTitleStyle}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</Page.Resources>
<Grid
x:Name="ContentArea"
Margin="{StaticResource MediumLeftRightMargin}">
<Grid.RowDefinitions>
<RowDefinition x:Name="TitleRow" Height="48"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock
x:Name="TitlePage"
x:Uid="Main_Title"
Style="{StaticResource PageTitleStyle}" />
<Grid
Grid.Row="1"
Background="{ThemeResource SystemControlPageBackgroundChromeLowBrush}">
<GridView x:Name="Lines" Background="{ThemeResource AppBarBackgroundThemeBrush}" SelectionMode="Multiple" IsMultiSelectCheckBoxEnabled="False" MinHeight="150"
ItemsSource="{x:Bind ViewModel.SampleItems, Mode=OneWay}"
ItemTemplate="{StaticResource detTemplate}" >
</GridView>
</Grid>
<!-- Adaptive triggers -->
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="WindowStates">
<VisualState x:Name="WideState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="640"/>
</VisualState.StateTriggers>
</VisualState>
<VisualState x:Name="NarrowState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="TitlePage.Margin" cu:Value="48,0,12,7" fcu:Value="0,0,12,7"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
答案 0 :(得分:0)
不要将拖拽内容放在模板上。而是把它放在GridView上。
<GridView AllowDrop="True"
CanDragItems="True"
DragItemsStarting="OnDragItemsStarting"
DragOver="OnDragOver"/>
以下是一些可以提供帮助的资源: