UserControl是一个独立的可重用输入控件,允许用户与应用程序进行交互。用户控件可以是按钮,复选框,输入文本框,鼠标,键盘等。
问题:我有一个 WinForms 控件(“MyControl”),它依赖于 myCli.dll,这是一个用 C++ CLI 编写的 dll。该组件是第三方的(由另一个团队编写)。 myCli.dll 依赖于
我正在关注这篇文章。 我有一个如下所示的用户控件: 我正在关注这篇文章。 我有一个如下所示的用户控件: <common:ViewBase x:Class="MyNamespace.MyView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:common="clr-namespace:Common;assembly=Common"> </common:ViewBase> 我的代码如下所示: namespace MyNamespace { public partial class MyView : ViewBase { public MyView() { InitializeComponent(); } } } ViewBase 看起来像这样: namespace Common { public class ViewBase : UserControl { } } 但它拒绝构建,我不断收到以下错误: 未找到类型“common:ViewBase”。验证您没有缺少程序集参考并且所有参考程序集均已构建。 我按照另一篇文章的一些建议将 ViewBase 移至单独的程序集,但我也尝试将其放入同一个程序集中。有谁知道如何解决这个问题? 我能够使用您的代码作为示例进行编译并拥有单独的程序集。如果将其放入单独的程序集中,则必须确保在派生的 UserControl 正常工作之前构建该程序集。如果它位于单独的程序集中,请验证您是否具有 UserControl 的正确引用。在构建该项目之前,我必须添加PresentationCore、PresentationFramework、System.Xaml 和WindowsBase。为了使用引用进行构建,我必须从其他项目中排除派生的 UserControl。 这是一个先有鸡还是先有蛋的情况。在我构建另一个程序集后,我就能够构建派生的 UserControl 所在的程序集。 如果单独的程序集中没有基本 UserControl,请验证 Xaml 命名空间是否正确: xmlns:common="clr-namespace:Common;assembly=Common" // separate assembly xmlns:common="clr-namespace:Common" // same assembly 如果您仍然遇到问题,请发布更多代码和/或更多错误消息(如果有多个)。这可能是另一个错误消息才是真正的罪魁祸首。 我已经与同样的问题斗争了两周,并且感到绝望。我的任务是使用 xmlns:local="clr-namespace:myPresentationLayernamespace" 和 将完整的窗口加载为 UserControl。什么都没起作用。在与 Bing 进行几次会话后,它将我重定向到这篇文章及其线索:“在构建该项目之前,我必须添加PresentationCore、PresentationFramework、System.Xaml 和WindowsBase”。实际上,我只找到并安装了 System.Runtime.WindowsRuntime.UI.Xaml nuget 扩展,结果是即时的:所有构建错误都消失了。我不必将任何组件移出项目。刚刚安装了扩展。 对这篇文章和 Bing 的帮助非常满意。
如何访问 ascx 控件的代码隐藏对象中的公共变量? (内联表达式)
这曾经有效(在网站项目上)。现在,我们正在转换为 Web 应用程序项目,但我似乎无法让它工作。 非常简单的ascx,上面什么都没有,并创建一个公共类变量...
我正在尝试创建 WPF UserControl,其设计应基于某些数据绑定属性。 简单的例子我想实现什么: 让我们拥有包含我的控件的窗口: ...
我在 Avalonia 11 应用程序中使用 PanAndZoom 控件。不幸的是,似乎该控件的缩放重置只能由控件方法触发。 现在我想知道如何...
我有 UserControl,它必须作为底切工作(我不知道它是如何正确命名的。当用户单击标题时,它显示其内容,并在用户再次单击时隐藏内容) 现在我有下一个...
我正在尝试(学习)在Winforms中制作UserControl。这是我的app.config 我正在尝试(学习)在 Winforms 中制作 UserControl。这是我的 app.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="LoginTestDB_cf" connectionString="Data Source=.\SqlExpress;Initial Catalog=LoginTestDB;Integrated Security=True;Pooling=False" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration> 我创建了一个静态类并尝试获取连接字符串。这就是我尝试的方法: static class Helper { public static string ConnectionString { get { string str = System.Configuration.ConfigurationManager.ConnectionStrings["LoginTestDB_cf"].ConnectionString; return str; } } } 然后我尝试像这样访问连接字符串: _myCommand = "my_command_text"; SqlConnection con = new SqlConnection(); con.ConnectionString = Helper.ConnectionString; //getting error _cmd = new SqlCommand(_myCommand, con); con.Open(); 错误:“对象引用未设置到对象的实例。” 我在设置连接字符串时遇到错误。我可以知道这里出了什么问题吗?我确信有一个小错误或无知在扮演肮脏的角色,但无法识别这一点。 在助手类中,我什至尝试过 string str = System.Configuration.ConfigurationManager.AppSettings["LoginTestDB_cf"].ToString(); 但还是没有运气。 谢谢。 好吧,我想出了一个解决方案,并迫切希望有人证明我错了。我将相同的文件(添加现有项目)复制到不同的 Winforms(windowsFormApplication) 解决方案。还有沃拉!!一切都很好。所以现在,我认为连接字符串不能在 UserControl 中使用,尽管我无法证明我所说的合理。但是,是的,我使用了相同的项目文件和相同的 app.config 内容(当然我更改了文件的命名空间名称),一切都很好。如果我的基本知识有误,请告诉我。当然,我会继续在互联网上搜索这个问题。谢谢你。 希望有帮助。 您可以轻松地在新创建的控件中使用连接字符串。 这是我的设置: 用户控制是一个带有您提供的附加代码的按钮。 Helper 类是用户控件的一部分。正如你所看到的,我顺利地通过了它,到达了你遇到问题的开放线路。 (它打开然后关闭连接就很好,我检查过)。 就我而言,我已经解决了!实际上,在用户控件中的事实会稍微改变插入的连接字符串!解决方案只是像在任何其他字符串中一样使用 Replace 方法来恢复这个小更改!要找到差异,只需将连接字符串插入某个面板或文本框中,然后打开该页面的在线版本的 html,将其与正确的连接字符串进行比较。 当然你首先要禁用所有需要连接到在线数据库的东西!
是否可以通过双击用户控件(继承自 Control)的特定属性来打开它的集合编辑器,而无需开发自定义实现...
ASP.NET / UserControl、ViewState 和丢失属性值
这是关于 ASP.NET、ViewState、UserControls 和丢失我的属性值的问题。我知道,这是一个经典的问题,尽管我已经在这里和谷歌上搜索了解决方案...
Javascript“this”在页面加载时传递画布以发挥作用
我正在尝试将 HTML canvas 元素作为参数传递给函数,并且我认为使用“this”关键字会起作用,但我遇到了问题。有人可以帮我使用...
我创建了一个用户控件dll,我在这个用户控件dll中放置了一个dataGridView和一些按钮。 当主程序引用usercontrol dll时,我希望主程序能够编辑
WPF 创建可用于扩展另一个 UserControl 的基本 UserControl
我对 WPF 很陌生,我想创建一个可重用的基本 UserControl。 例如我有这个 UserControl: TestBase 我对 WPF 很陌生,我想创建一个可重用的基本 UserControl。 例如我有这个用户控件:TestBase <UserControl x:Class="UserControls.TestBase" xmlns="" xmlns:x="" xmlns:mc="" xmlns:d="" xmlns:local="clr-namespace:UserControls" mc:Ignorable="d" Style="{StaticResource TestBaseDefault}" d:DesignHeight="150" d:DesignWidth="150"> <UserControl.Template> <ControlTemplate> <Grid> <TextBlock Text="Base Text" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White"/> </Grid> </ControlTemplate> </UserControl.Template> </UserControl> UserControl TestBase 使用此样式(TestBaseDefault): <Style x:Key="TestBaseDefault" TargetType="{x:Type UserControl}"> <Setter Property="Margin" Value="5"/> <Setter Property="VerticalAlignment" Value="Top"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type UserControl}"> <Border CornerRadius="10" BorderThickness="2" BorderBrush="{StaticResource ForegroundBrush}" Background="{StaticResource BackgroundBrush}" Padding="10"> <ContentPresenter/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> 现在我想创建第二个从 TestBase 扩展的 UserControl。 目前看起来像这样:Test1 <UserControl x:Class="UserControls.Test1" xmlns="" xmlns:x="" xmlns:mc="" xmlns:d="" xmlns:local="clr-namespace:UserControls" x:Name="self" mc:Ignorable="d" d:DesignHeight="150" d:DesignWidth="150"> <Grid> <TextBlock Text="Overriden Text" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White"/> </Grid> </UserControl> 必须从用户控件中删除链接,否则我无法发布问题。 我想知道的是,是否可以从TestBase而不是UserControl扩展Test1,以便我可以从基础访问属性,使用其中的样式并覆盖默认内容? 如果不行,还有其他方法可以实现吗? 基类应该定义为没有任何 XAML 的类: public class TestBase : UserControl { public TestBase() { Style = FindResource("TestBaseDefault") as Style; } } 然后您可以将其用作 Test1 的基类。 测试1.xaml: <local:TestBase x:Class="WpfApp1.Test1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> <Grid> <TextBlock Text="Overriden Text" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White"/> </Grid> </local:TestBase> Test1.xaml.cs: public partial class Test1 : TestBase { public Test1() { InitializeComponent(); } } 您无法覆盖模板,因此您在 TestBase.xaml 中定义的模板应被删除或合并到样式定义的模板中。
我正在开发一个程序,它有一个主屏幕,其中有一个用于创建新模拟的按钮,该按钮会打开一个名为“模拟”的新表单。 该模拟有两个用户控件并使用...
添加一个接受一些属性的用户控件,用于能够在我们的应用程序中一般设置不同的配置值。 在某些情况下,这将需要两个
我不确定我想做的事情是否可行 - 几乎我只想使用 AJAX 调用用户控件并获取该控件的渲染 html。然而,当我尝试获取控件时,我...
我有一个带有自定义属性的用户控件: 公共大小测试大小{获取;放; } 我希望这个属性在 UserControl 的设计时显示在属性窗口中,而不仅仅是......
WPF:多重绑定未使用 OnPropertyChanged 进行更新?
我有一个转换器,它接受一个 bool 值,并根据它的真假返回 A 或 B。转换器根据布尔值选择正确的值,但仅在开始时,如果我改变......
我的项目的主窗口中有两个用户控件。在 MainWindow 中,我调用第一个内容为 Button 的 UserControl,并将此 FirstControl 放入 Grid 中。我怎样才能调用第二个UserControl...
这个问题听起来可能有点奇怪。 情况如下: 我在 powershell 控制台中执行命令“wsl”。我的默认 发行版启动或恢复。 我执行一些逗号...
通过 MainControl 动态创建的 UserControl 访问子控件或值
您好,我有一个这样的表格: -------------------------------- |BTN|BTN|BTN| | -------------------------------- | | |选项卡控件...