- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在为我们的 WPF 应用程序构建一个 UI 元素,它允许用户可视化以网格格式对齐的图形集合。据我了解,您可以将 ItemsControl 与 WrapPanel 一起使用,这将很好地以网格格式对齐 ui 元素。
当我们尝试使用 winforms 图形库 (zedgraph) 生成图形时,困难就来了。这意味着我们必须使用 WindowsFormsHost
来显示图形 View 。我尝试使用普通数据绑定(bind)来绑定(bind)图形集合,但它实际上不起作用:
XAML:
<ItemsControl ItemsSource="{Binding Graphs}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<WindowsFormsHost Margin="5">
<ui:Graph></ui:Graph>
</WindowsFormsHost>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
上面的代码没有显示任何内容,但是访问了 Graphs getter。
此外,即使我取消了绑定(bind),只是在 ItemsControl 中插入了一些随机图形 View ...它仍然不显示任何内容:
XAML:
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<WindowsFormsHost Margin="5">
<ui:Graph></ui:Graph>
</WindowsFormsHost>
<WindowsFormsHost Margin="5">
</WindowsFormsHost>
<ui:Graph></ui:Graph>
</WindowsFormsHost>
<WindowsFormsHost Margin="5">
<ui:Graph></ui:Graph>
</WindowsFormsHost>
</ItemsControl>
为了测试以确保图形库正常运行,这确实显示了一个图形:
<Grid>
<WindowsFormsHost Margin="5">
<ui:Graph></ui:Graph>
</WindowsFormsHost>
</Grid>
谁能指导我正确的方向?非常感谢。
最佳答案
这可能与布局有关。 winforms 太可怕了,它要求你硬编码所有东西的大小。
尝试为 winformshost 提供固定的硬编码宽度和高度
关于c# - 在 WPF 中绑定(bind)包含 WindowsFormHost 项的 ItemsControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19411730/
我的 WPF 表单中有带有 RichTextBox 的 WindowsFormHost,我已为该 WindowsFormHost 提供了 ScrollViewer,但它不起作用,WindowsForm
我正在为我们的 WPF 应用程序构建一个 UI 元素,它允许用户可视化以网格格式对齐的图形集合。据我了解,您可以将 ItemsControl 与 WrapPanel 一起使用,这将很好地以网格格式对齐
我是一名优秀的程序员,十分优秀!