c# - UWP - InkCanvas 无响应
问题描述
我是第一次构建 UWP 应用程序。我正在尝试使用放置在页面上的 InkCanvas,但似乎根本无法在其上绘图。
我正在使用鼠标尝试绘图 - 我不知道这是否有任何区别,无论您是否真的需要使用笔或触摸屏。
谁能帮我这个?我究竟做错了什么?
XAML 代码:
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="230" />
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="100*"/>
<RowDefinition/>
</Grid.RowDefinitions>
<InkCanvas x:Name="inkCanvas" Grid.RowSpan="2" />
</Grid>
<ListView x:Name="lvItems" ItemsSource="{x:Bind data}" IsItemClickEnabled="False" Margin="60,60,60,0" SelectionMode="None">
<ListView.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="91*"/>
<ColumnDefinition Width="453*"/>
<ColumnDefinition Width="150*"/>
<ColumnDefinition Width="210*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Item" Grid.Column="0" FontWeight="Normal"/>
<TextBlock Text="Detail" Grid.Column="1" FontWeight="Normal"/>
<TextBlock Text="Yes/No" Grid.Column="2" FontWeight="Normal"/>
<TextBlock Text="N/A" Grid.Column="3" FontWeight="Normal"/>
</Grid>
</ListView.Header>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="20,0,20,0">
<TextBlock FontSize="18" Text="{Binding ItemNumber}" HorizontalAlignment="Right" Margin="0,0,20,0" Width="32" ></TextBlock>
<TextBlock FontSize="18" Text="{Binding ItemDetails}" HorizontalAlignment="Right" Width="400"></TextBlock>
<CheckBox IsChecked="{Binding YesNo}" Margin="20,0,0,0" Width="5"></CheckBox>
<CheckBox IsChecked="{Binding NotApplicable}" Margin="20,0,0,0" Width="5"></CheckBox>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button x:Name="btnOpenFile" Content="Open Data File" HorizontalAlignment="Left" Margin="60,14,0,0" VerticalAlignment="Top" Click="btnOpenFile_Click" Height="32" Width="118"/>
<Button x:Name="btnExportToPDF" Content="Export to PDF" HorizontalAlignment="Left" Margin="188,14,0,0" VerticalAlignment="Top" Height="32" Width="111"/>
</Grid>
解决方案
设法自己解决了这个问题。
您需要定义哪些输入/设备可以在画布上绘制。
public MainPage()
{
this.InitializeComponent();
inkCanvas.InkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Mouse | Windows.UI.Core.CoreInputDeviceTypes.Pen;
}
推荐阅读
- java - 为单个 java Servlet 添加多个表单
- c++ - C++ 在循环中捕获异常并在循环结束后重新抛出?
- javascript - Javascript irc bot node.js从文本文件错误中连接字符串
- debugging - 为什么在 org-mode 中所有元键都未绑定?
- javascript - 从数组中某些位置的输入中推送值
- c++ - 类型衰减 stl 迭代器
- python - How do I separately read arguments with %20 & + from URL using Flask in Python?
- opencl - 在 OpenCL 2.1 中使用 CL_PLATFORM_ICD_SUFFIX_KHR 调用 clGetPlatformInfo
- go - 从文件中读取并检查文件结尾
- r - 将向量的所有元素(包含 9 个元素)除以来自另一个向量(包含 100 个元素)的第一个、第二个、...第 100 个元素