Tag: user controls

为什么Window.FindName()没有发现x:子UserCStrol中按钮的名称? AKA NameScopes如何运作?

因此,在下面的示例代码中,我创建了一个UserControl UserControldChild,它是主窗口Window1.xaml的子代。 为什么FindName()方法无法在下面的代码中找到“myButton”? 这必须与WPF XAML NameScopes有关 ,但我还没有找到关于NameScope如何工作的好解释。 有人可以开导我吗? //(xml) Window1.xaml //(c#) Window1.xaml.cs namespace VisualTreeTestApplication { /// /// Interaction logic for Window1.xaml /// public partial class Window1 : Window { public Window1() { InitializeComponent(); Button btnTest = (Button)Application.Current.MainWindow.FindName(“myButton”); // btnTest is null! } } } UserControl如下: //(wpf) UserControlChild.xaml Button //(c#) UserControlChild.xaml.cs (no changes) namespace VisualTreeTestApplication { […]

MVP和多个用户控件

我正在尝试使用MVP模式,我遇到了一个设计问题。 我正在开发一个具有多个UserControl的应用程序。 UserControls本身彼此无关,只代表实际模型的一个子集。 根据我的阅读,人们倾向于说每个视图应该使用一个Presenter。 这似乎有道理,但如果我有30个UserControls,我真的想要30个演示者吗? 另一方面,如果我有1个Presenter和1个View代表整个“应用程序”视图,那么我将拥有膨胀的View和Presenter界面。 然后每个View都必须实现与它无关的方法。 我的问题是,有没有更好的方法来处理多个UserControls,或者我应该为每个View创建一个Presenter?

在ASP.NET中对DropDownList进行子类化

我想在ASP.NET中inheritance内置的DropDownList,以便我可以为它添加function并在我的页面中使用它。 我尝试用UserControl做这个,但发现它没有公开内部DropDownList(逻辑上,我猜)。 我已经google了答案,但找不到任何东西。 我已经编写了实际的类,并且可以从DropDownListinheritance,但是我无法在ASP.NET页面中注册该文件并在源视图中使用它。 也许我错过了class上的一些房产? 有任何想法吗?

如何使用委托和事件处理程序进行用户控制

我创建了一个包含按钮的用户控件。 我在我的winform上使用这个控件,它将在从数据库中获取数据后在运行时加载。 现在我需要从该按钮的Click事件中的数据表中删除一行。 问题是我如何在表单中捕获该事件。 目前它进入用户控件的btn点击事件定义。

wpf强制构建可视化树

我有ItemsControl和Grid作为ItemsPanelTemplate 我在代码隐藏中使用此ItemControl创建了一些UserControl,然后我需要创建RowDefinitions和ColumnDefinitons。 我使用这种方法得到“网格”: private TChildItem FindVisualChild(DependencyObject obj) where TChildItem : DependencyObject { for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) { var child = VisualTreeHelper.GetChild(obj, i); if (child != null && child is TChildItem) return (TChildItem)child; var childOfChild = FindVisualChild(child); if (childOfChild != null) return childOfChild; } return null; } 但是如果我在显示UserControl之前调用此方法它返回null,所以我无法找到访问“网格”,并且当UserControl出现时它显示不像我预期的那样。 我试图谷歌,但我发现的是假设VisualTree没有为ItemControl构建,直到它在表单上显示。 有什么建议? 谢谢,抱歉英文不好;)

如何在C#中访问usercontrol的属性

我用一个文本框和一个richtextbox创建了一个C#usercontrol。 如何从usercontrol外部访问richtextbox的属性。 例如..如果我把它放在一个表单中,我怎么能使用richtextbox的文本属性??? 谢谢