Tag: xaml

绑定WPF用户控件的问题

这就是我本来想要的。 具有TextBlock的UserControl ,其Text属性绑定到UserControl的Prop属性。 (这只是我实际问题的一种表现) 下面是我的UserControl的一部分( ClientDetailsControl.xaml ) 接下来是ClientDetailsControl.xaml.cs public partial class ClientDetailsControl : UserControl { public static DependencyProperty PropProperty = DependencyProperty.Register(“Prop”, typeof(String), typeof(ClientDetailsControl)); public String Prop { get; set; } public ClientDetailsControl() { InitializeComponent(); DataContext = this; } } 现在,在我的主WPF窗口( NewOrder.xaml )中,我正在使用此UserControl MyProp属性在NewOrder.xaml.cs声明如下 public String MyProp { get { return “HELLO”; } } 当我运行此代码时,我收到以下错误: BindingExpression路径错误:在’object”’ClientDetailsControl’(Name […]

在Ui线程上执行同步操作

我正在尝试开发Windows应用程序并遇到问题。 我有一个MainPage.xaml和另外两个StartScreen.xaml和Player.xaml。 如果某些条件为真,我正在切换MainPage的内容。 所以我在StartScreen中有一个事件,它检查目录是否存在,但每次出错时它都会抛出我。 private void GoToPlayer_Click(object sender, RoutedEventArgs e) { if (Directory.Exists(this.main.workingDir + “/” + IDText.Text + “/Tracks”)) // Error occurs here { this.main.Content = this.main.player; //here i switch between different ui forms } else { MessageBox.Text = “CD not found”; IDText.Text = “”; } } 当它到达else分支时一切都很好但是当dir可用时我收到以下错误消息: An exception of type ‘System.InvalidOperationException’ occurred in […]

使用viewmodel绑定usercontrol的依赖属性

基本上,我有一个主窗口,其上有一个用户控件,其中包含一个绑定到主窗口视图模型的属性。 这个想法是当属性在用户表单中发生变化时,通过绑定主窗口视图模型中的属性也会发生变化。 问题是,当用户控件没有ViewModel时,这是有效的,当我向用户控件添加一个简单的ViewModel时,绑定不再起作用。 因为我需要为我的控件设置ViewModel,所以我需要弄清楚为什么添加ViewModel会破坏绑定以及如何修复它。 欢迎任何建议。 public partial class Control1 : UserControl, INotifyPropertyChanged { public Control1() { InitializeComponent(); Loaded += Control1_Loaded; } void Control1_Loaded(object sender, RoutedEventArgs e) { DataContext = new Control1ViewModel(); } public static DependencyProperty SavedStringProperty = DependencyProperty.Register( “SavedString”, typeof(string), typeof(Control1)); public string SavedString { get { return (string)GetValue(SavedStringProperty); } set { SetValue(SavedStringProperty, value); } […]

Windows Phone 8 – 2背景音频冲突和两个应用程序终止

大约一周前,我为Windows Phone商店提交了一个在线背景广播流媒体应用程序。 该应用程序非常好(因为我使用模拟器测试它,它在所有可能的部门都很好)但是当我提交它进行认证时,它失败了。 根据错误日志,如果有人已经从音乐+video中心播放音乐,然后尝试打开此应用程序,则两个应用程序都会崩溃并意外停止。 到目前为止,据我所知,这是因为音乐音乐+video中心也是背景音乐,同时播放2个背景音乐,应用程序正在崩溃。 这可能是其他一些原因,但所描述的似乎对我更合乎逻辑。 那么,是否有人可以告诉我如何更改音乐+video中心的应用程序状态? 我想暂时暂停或停止音乐+video中心的应用程序,以便应用程序的两个状态都不相同。 这样,应用程序不会在后台相互冲突。 在这方面有人可以帮助我吗?

是否有Xamarin xaml文件的设计者?

我目前正在开始使用Xamarin。 现在我想知道UI是否有任何forms的设计器,所以我不必一次又一次地启动应用程序来设计时测试UI?

内部具有不同方向的WPF虚拟化TreeView不虚拟化?

我在XAML中有一个包含多个图层的TreeView 。 使用此解决方案,我可以为每个不同的层获取XAML配置的外观,并确认它是UI虚拟化。 但是,当我将特定图层的VirtualizingStackPanel切换为具有不同的Orientation (无论是通过此解决方案的代码,还是使用Snoop无关紧要)时,UI虚拟化将关闭, TreeViewItem将尽快实现所有TreeViewItem随着我扩展该层。 在研究这种行为时,我注意到在您进入MeasureOverride函数时,在VirtualizingStackPanel的参考源中,您可以在第2116行找到此注释 : 如果此面板的方向不同(sic)其父级或后代,则进行计算 在这种情况下,微软似乎故意禁用了UI虚拟化。 所以我有两个问题: 为什么层之间的方向一致性很重要? 如何让UI虚拟化与具有不同方向的TreeView一起使用?

如何使WPF图像无法使用?

我需要一个在禁用时灰显的图像(IsEnabled = False)。 通过将BitmapImage读入此处显示的FormatConvertedBitmap,可以生成图像的灰色版本。 我已经能够使用UserControl,但现在我想在专门的Image类中使用相同的行为以获得更大的灵活性。 我不在乎这是在XAML,代码隐藏还是两者中实现,但它需要是Image的子类。 用法可能是: OK

将XamlReader用于没有默认构造函数的控件

我有一些Xaml对象的字符串表示,我想构建控件。 我正在使用XamlReader.Parse函数来执行此操作。 对于一个简单的控件,比如Button,默认构造函数不带任何参数,这个工作正常: var buttonStr = “Text”; var button = (Button)XamlReader.Parse(buttonStr); 但是,当我尝试对例如Stroke控件执行此操作时,它会失败。 首先尝试一个简单的空笔画: var strokeStr = “”; var stroke = (Stroke)XamlReader.Parse(strokeStr); 这给出了错误: 无法创建“System.Windows.Ink.Stroke”类型的对象。 CreateInstance失败,这可能是因为没有’System.Windows.Ink.Stroke’的公共默认构造函数。 在Stroke的定义中,我发现它至少需要构造一个StylusPointsCollection。 我假设这是错误告诉我的,虽然有点假设这将由XamlReader处理。 尝试使用StylusPoints转换一个Xaml of Stroke会产生同样的错误: var strokeStr = “” + “” + “” + “” + “” + “”; var stroke = (Stroke) XamlReader.Parse(strokeStr); 我究竟做错了什么? 如何告诉XamlReader如何正确创建笔划?

制作TreeViewItem包的一部分

我有一个TreeViewItem ,里面有多个部分 – 一个图标,一个标题和一段数据。 我试图把最后一部分包裹起来,而不是把所有东西都包起来,而我没有运气。 以下是问题的说明: 我尝试了一些我在Stack Overflow上发现的东西,没有运气。 我找到了三条建议: 将项目放在一个网格中,其中一列绑定到TreeView的实际宽度。 这是在下面的XAML中实现的,但似乎没有帮助。 使用ScrollViewer.HorizontalScrollBarVisibility = “Disabled” TreeView上的水平滚动,我也在下面的XAML中实现了。 在WrapPanel包装我需要的东西。 我尝试了这个,但结果不佳。 当我将整个TreeViewItem包装在一起时,我得到了难以控制的包装(整个项目包装,所以所有部分都包裹起来,看起来很糟糕)。 当我将所需的TextBlock包装在一个中时,我根本没有得到任何结果。 所以我把它拿出来了。 这是我为TreeViewItem的模板: 这是布局的图示,因此您可以看到TreeViewItem的组成方式: 基本上,灰色部分是图标,绿色部分只是项目之间的间隔,蓝色部分是标题和冒号(基本上与此问题无关),红色部分是实际内容。 这是我要包装的红色部分。 这是TreeView定义: 我觉得我做的事情很简单,但我不确定是什么。 有没有办法实现这一点,而不只是将TextBlock宽度锁定为任意的,如200?

如何在LayoutAnchorable AvalonDock 2中放置窗口实例

我正在将WPF C#应用程序(不是MVVM)中的AvalonDock从1.3升级到2.0。 在1.3中,只要使用了DockableContent:XAML,我就可以放置自定义窗口: <!– <!—-> 代码背后: public partial class JournalWindow : DockableContent { public JournalWindow() { InitializeComponent(); } MainWindow中的代码显示即时元素: JournalWindow journalWindow; journalWindow = new JournalWindow() { Name = nameJournalWindow, Title = “Journal” }; journalWindow.IsCloseable = true; journalWindow.HideOnClose = true; journalWindow.Show(dockManager); 如何使用AvalonDock 2在LayoutAnchorable或其他布局元素(以前称为DockableContent)中放置和显示JournalWindow的实例?