wpf使用C#控件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf使用C#控件相关的知识,希望对你有一定的参考价值。
我做了一个wpf程序,在同一工程里面建立了一个C#的自定义控件,但是调用它的时候,却报错: : 无法从“物流存储及管理系统.uicon.BasicInfo.frmGoodsInfo”转换为“System.Windows.UIElement” F:\物流存储及管理系统\物流存储及管理系统\MainWindow.xaml.cs 89 请高手指教!!!急!!! frmGoodsInfo是c#中form类型的空间,不是UIElement,但是我却必须要使用他,该怎么办?
参考技术A 在项目引用中添加windowsformsintegration.dll然后在xaml用
xmlns:int="clr-namespace:system.windows.forms.integration;assembly=windowsformsintegration"
<int:windowsformshost>
放你的winform控件
</int:windowsformshost> 参考技术B 在项目引用中添加WindowsFormsIntegration.dll
然后在xaml用
xmlns:int="clr-
namespace
:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
放你的
Winform控件
WPF (C#) 用户控件删除元素
【中文标题】WPF (C#) 用户控件删除元素【英文标题】:WPF (C#) Usercontrol remove elements 【发布时间】:2021-11-26 22:03:18 【问题描述】:我正在使用 WPF(C#) 中的 Usercontrol 制作模板。
但是,在应用此用户控件时,是否可以减去特定部分?例如,移除一个按钮?
【问题讨论】:
隐藏多余的部分 我怎样才能让它隐藏,我怎样才能让它发生? 【参考方案1】:要从 UserControl 中减去特定部分,可以使用可见性(折叠、隐藏)选项。 确保在 UserControl 中添加依赖属性以显示和隐藏特定部分。
【讨论】:
我不认为向用户控件添加依赖属性来控制可见性是一个好建议。 WPF 是围绕 MVVM 构建的,MVVM 解决方案是通过绑定到视图模型来控制可见性。 @NigelBess 我不同意你的观点,用户控件必须公开必要的功能才能与之交互,.. 必要的功能已经通过绑定暴露了。无需通过为您想要控制的所有内容添加依赖属性来使事情复杂化。此外,您仍然需要访问依赖属性,无论哪种方式都应该通过绑定来完成【参考方案2】:听起来您只是想隐藏现有按钮,您应该通过将Visibility
设置为Visibility.Collapsed
或Visibility.Hidden
来做到这一点。这应该通过绑定到用户控件的 ViewModel 来完成。
如果您需要纯 XAML 解决方案:不,这样是不可能的。但是,反过来也是可能的:you can add content to a user control,它有效地提供了相同的功能。
您可以做的是制作一个不包含按钮的基本用户控件,而是有一个内容呈现器。第二个用户控件可以包装基本用户控件并将一个按钮定义为其内容。然后,当您不想将用户控件与按钮一起使用时,您可以简单地创建一个基本用户控件的实例。
【讨论】:
以上是关于wpf使用C#控件的主要内容,如果未能解决你的问题,请参考以下文章