Tag: xaml

WPF依赖属性不起作用

我有一个自定义的依赖属性定义如下: public static readonly DependencyProperty MyDependencyProperty = DependencyProperty.Register( “MyCustomProperty”, typeof(string), typeof(MyClass)); private string _myProperty; public string MyCustomProperty { get { return (string)GetValue(MyDependencyProperty); } set { SetValue(MyDependencyProperty, value); } } 现在我尝试在XAML中设置该属性 但是DependencyObject中的setter永远不会被击中! 虽然我将属性更改为常规属性而不是Dep Prop时会这样做

Windows在设计时存储应用程序ResourceLoader

我已经开始为Windows 8.1创建Windowsapp store应用,现在我遇到了有关本地化的问题。 我想在设计时从.resw文件中显示字符串资源,但是每次尝试这样做都会失败,即使它在运行时也能正常工作。 当使用x:Uid属性时,我仍然需要提供Text属性(即对于TextBlock),我不喜欢写两次文本。 我还尝试在viewmodel上为字符串创建一个属性: public string Title { get { return ResourceLoader.GetForCurrentView(“Strings”).GetString(“MainView_Title”); } } 这在运行时工作,但在设计时它是空白的。 所以问题是,有没有办法在XAML设计器中显示来自.resw文件的资源? 更具体地说,ResourceManager类是否允许在设计时读取.resw文件? 谢谢你的帮助,卢卡斯

在XAML中使用在Silverlight中的代码中创建的静态对象

我无法在Silverlight中使用它,所以我创建了两个测试项目。 一个简单的WPF项目和一个简单的Silverlight项目,它们只做一件事:在代码中设置一个公共静态只读变量,并在一个完全裸的XAML中使用它。 在WPF中,工作顺利。 在Silverlight中,我收到以下编译器警告和运行时错误: 警告2 XML名称空间“ http://schemas.microsoft.com/winfx/2006/xaml ”中不存在“静态”标记… 和 属性Text的属性值{x:Static SilverlightApplication3:Page.Test}无效。 [线路:7位置:25] 我假设Silverlight 2不支持这个,或者我只是遗漏了一些非常简单的东西? 这是两者的完整代码,以防万一是后者: public partial class Window1 : Window { public static readonly string Test = “test”; public Window1() { InitializeComponent(); } } 这是SL版本: public partial class Page : UserControl { public static readonly string Test = “test”; public Page() { InitializeComponent(); } […]

从Silverlight中的不同ResourceDictionary引用ResourceDictionary中的资源

我在App.xaml中有以下代码集: NavigationPanel.xaml包含一个如下所示的样式: {StaticResource DarkBackground}在Brushes.xaml文件(即第一个资源字典)中定义。 它被定义为 在资源字典中。 在运行时,我收到以下错误: Cannot find a Resource with the Name/Key DarkBackground [Line: 16 Position: 44] 行号和位置引用app.xaml中的NavigationPanel.xaml资源字典。 我可以从其他控件引用画笔,而不是包含的资源字典。 为什么我不能引用或为什么它不能解析对合并资源字典的层次结构更高的资源的引用? 我在这里想念的是什么?

创建自定义wpf事件

我创建了一个UserControl for Database连接,用户输入连接的用户名和密码。 此UserControl位于MainWindow.xaml中 现在,在我的UserControl后面的代码中,我创建了一个MSSQL连接。 如果登录成功,我想提升自定义事件以在MainWindow中公开。 例如,在MyUserControl.xaml.cs中 try { using (SqlConnection sqlConn = new SqlConnection(connection)) { sqlConn.Open(); MessageBox.Show(“Connessione Riuscita!”, “Connessione a ” + TextIP.Text, MessageBoxButton.OK, MessageBoxImage.Information); RaiseMyEvent(); sqlConn.Close(); } } catch (SqlException ex) { MessageBox.Show(“Connessione Fallita: ” + ex.Message, “Connessione a ” + TextIP.Text, MessageBoxButton.OK, MessageBoxImage.Error); } 在MainWindow.xaml我想使用mypersonalized事件: 我需要这个用于多种类型的连接(MSSQL,Oracle,MySql等)。 怎么弄这个?

在代码中设置静态资源

我的App.xaml文件中有几个样式: 我想在mainpage.xaml.cs的代码中更改BackgroundProperty 。 我试过用这个: Style style = Application.Current.Resources[“stackpanelBackground”] as Style; style.Setters.SetValue(StackPanel.BackgroundProperty, “{StaticResource styleRed}”); 但我遇到了灾难性的失败exception。 我认为它与{StaticResource styleRed} 。 有一个更好的方法吗?

在运行时切换wpf资源字典

我正在尝试构建一个允许用户在运行时更改主题的wpf应用程序。 到目前为止我所做的是创建一个resourcedictionary,其中包含在其中定义的应用程序的所有颜色,然后我绑定到xaml中的这个字典。 下面是我切换资源字典的代码: if (System.IO.File.Exists(fileName)) { using (FileStream fs = new FileStream(fileName, FileMode.Open)) { ResourceDictionary dic = (ResourceDictionary)XamlReader.Load(fs); Resources.MergedDictionaries.Clear(); Resources.MergedDictionaries.Add(dic); } } 这段代码运行正常,我知道它正在切换资源字典,但它不会更新已经显示在屏幕上的元素。 我的问题是:我如何刷新或重新绑定屏幕以考虑新的资源字典? 谢谢 SM

为什么WPF不在Windows 8中显示Windows 8样式按钮

这是一个Windows 8风格的按钮: 这是.NET 4.5 WPF应用程序中的一个按钮: 任何想法为什么WPF不显示本机Windows 8样式按钮? 有没有办法来解决这个问题?

如何在XAML中动态访问元素名称?

我有一个用户填写的XAML输入表单。 我想validation这个表单。 我有一个集合中的字段信息,我想循环并检查每个字段。 但是如何在字符串中访问字段的名称, 例如当fieldInformation.FieldName =“CompanyName”时我想检查“Field_CompanyName.Text”。 伪代码: foreach (var fieldInformation in _fieldInformations) { if (Field_{&fieldInformation.FieldName}.Text.Length > 2) { ErrorMessage.Text = String.Format(“The length of {0} is too long, please correct.”, fieldInformation.FieldName); entryIsValid = false; } } XAML: 代码隐藏: _fieldInformations.Add(new FieldInformation { FieldName = “CustomerID”, FieldSize = 5 }); _fieldInformations.Add(new FieldInformation { FieldName = “CompanyName”, FieldSize = […]

使用指向可执行文件的“fullTrustProcess”创建应用程序包时出错

我正在尝试使用UWP应用程序部署示例应用程序以桥接AppServices。 该示例运行并构建得很好,但是当我尝试按照指南打包整个事情时,它给了我一个错误。 链接到包装指南 这里是AppService Bridge示例存储库。 错误信息: Error Manifest validation error: Line 36, Column 64, Reason: The file name “BackgroundProcess.exe” declared for element “*[local-name()=’Applications’]/*[local-name()=’Application’]/*[local-name()=’Extensions’]/*[local-name()=’Extension’ and @Category=’windows.fullTrustProcess’]” doesn’t exist in the package. 我发现代码片段会产生错误,但我还没有找到解决方法。 如果我从文件Package.appxmanifest中 删除以下代码,Visual studio将成功构建包: 但这显然也会消除过程中的桥接,这是本练习的重点。 这似乎与这个问题有些相关,但不同之处在于我有一个.exe并且这个问题似乎是为了回答它.dlls: 为商店构建通用应用程序时出错:“清单引用文件’MyAppName.dll’,它不是有效负载的一部分。” (更新UWP工具似乎没有解决它。)