Tag: xaml

每个Dictionary条目必须具有关联的键属性

我正在使用C#和来自GalaSoft的MVVM-Light Toolkit编写Windows 8.1 App。 我只有以下代码: 出现错误“每个词典条目必须具有关联的键属性”,并且只有在我删除时才会消失 要么 谁能告诉我这里的问题是什么?

如何绑定只读WPF控件属性(例如ActualWidth),以便在视图模型中访问其值?

我想将控件的只读属性绑定到我的视图模型,以便该值在视图模型中可用。 这样做的最佳方式是什么? 例如,我想将ActualWidth绑定到视图模型中的属性。 宽度值由WPF使用其布局逻辑生成,因此我无法在视图模型中生成此值并将其推送到控件属性,这通常是这种情况。 相反,我需要让WPF生成值并将其推送到视图模型。 我只使用Mode=OneWayToSource ,但这不适用于只读属性: … child controls … 我现在这样做的方法是处理边框的SizeChanged ,然后代码将值插入到视图模型中,但这感觉不太对。 有人已经解决了这个问题吗? 更新:我的问题实际上是这个问题的重复:将只读GUI属性推回到ViewModel

在XAML中使用boolean到颜色转换器

我正在研究WPF应用程序。我已将文本块绑定到我的按钮。 当关联按钮的isEnabled为true时,我想将文本块的前景设置为黑色。 我想用转换器来做这件事。 但它不起作用 。 也没有给出任何错误。 我在“Models”文件夹中声明了以下类。 public class BrushColorConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if ((bool)value) { { return System.Windows.Media.Colors.Black; } } return System.Windows.Media.Colors.LightGreen; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } Button的启用,可从viewmodel更改属性 (例如,使用RaiseCanExecuteChanged)()) XAML中与textblock相关的东西是: (!..all […]

多个ItemsSource集合绑定

如何将不同类型的多个集合绑定到ItemsControl的ItemsSource? 使用单个绑定工作正常: 但是当我尝试使用CompositeCollection时,不会显示Foo中的项目:

如何通过ViewModel更改VisualState

我知道这个问题类似于很多。 无论如何,我不明白。 我有几个VisualStates (超过2个,这就是为什么DataStateBehavior不是我的解决方案)。 我有ViewModel,它具有枚举属性CurrentState 。 每个枚举值代表一个状态,也可能是几个枚举值代表一个状态,不符合。 我希望当CurrentState改变时改变了VisualState (想到,我脑子里立刻出现了: Binding是为这种情况准确创建的! ) 我可以将CurrentState与视图VisualState (仅限xaml解决方案)绑定,以获得上述行为吗? 如果是,我该怎么办? 如果不是,我应该如何在我的ViewModel中使用VisualStateManager.GoToState()方法?

将图像下载到Metro风格应用程序中的本地存储

在WinRT / C#中,如何将映像下载到本地文件夹以支持在线目录的缓存以供脱机使用? 有没有办法直接下载图像并链接控件,以从缓存中获取它们作为后备? var downloadedimage = await HttpWebRequest.Create(url).GetResponseAsync(); StorageFile imgfile = await ApplicationData.Current.LocalFolder.CreateFileAsync( “localfile.png”, CreationCollisionOption.FailIfExists); 下一步将下载的图像存储为localfile.jpg我该怎么办?

使用Prism和MVVM Pattern在WPF中进行模态对话的“漂亮”方法

昨天我用谷歌找到了几种方法,用PRISM 4.1和MVVM模式在WPF中制作了一个非常棒的可重用modal dialog。 我发现了一些例子,但我必须说那些不像我喜欢它们那样“漂亮”。 这一个: WPFmodal dialog (没有mvvm – >没用) 这非常好: 在使用MVVM模式时显示Dialogs (但它仍然使用我不需要的自制ServiceLocator,因为我正在使用IUnity容器。我可以使用逻辑并将其重写为Unity但这不是“漂亮的” “我诚实的看法。 好吧,经过一段时间在网上搜索信息,一些博客(现在找不到源代码)告诉我,PRISM框架有一个叫做“交互请求”的东西。 所以我查看了prism文档并在“高级mvvm场景”主题下找到了一小部分,但文档中给出的信息还不够。 我想知道是否有人有任何好的例子或任何好的博客文章,关于如何用mvvm在prism wpf中实现一个很棒的modal dialog。 编辑 :关于评论中的问题: 是什么让模态对话变得棒极了? 确实是个好问题。 它必须是模态的(当对话框打开时,UI的其余部分应该被冻结) 对话框视图可以拥有自己的viewmodel,或者至少我想将对象的实例提供给对话框视图并将对象返回给父视图 视图应该是一个自己的“xaml”文件 .NET中的dialogresultfunction,或者至少是一种获取用户在对话框中单击的响应的方法

全局更改ToolTip InitialShowDelay属性

我有一个应用程序,在Ribbon控件上设置了超过一百个不同的工具提示。 所有的工具提示都会很快弹出(大约半秒钟),我想增加弹出延迟。 经过一些研究后,似乎在WPF中执行此操作的唯一方法是通过ToolTipService.InitialShowDelay属性。 我的问题是,我是否必须通过XAML并明确说出来 ToolTipService.InitialShowDelay=”2000″ 对于每个具有ToolTip的控件? 或者是否有某种方法可以使用类似Style的方式全局设置此属性? 谢谢你的任何想法。

ItemsControl与其项目源 – WPF Listbox不一致

我有一个WPF窗口,其中包含一个ListBox控件,该控件在执行按钮单击方法时填充。 XAML: C#: private void CheckforThirdPartyUpdatesButton_Click(object sender, RoutedEventArgs e) { CheckforThirdPartyUpdatesButton.IsEnabled = false; worker = new BackgroundWorker(); worker.WorkerReportsProgress = true; worker.WorkerSupportsCancellation = true; worker.DoWork += delegate(object s, DoWorkEventArgs args) { MainEntry.checkFor3PUpdates(); }; worker.ProgressChanged += delegate(object s, ProgressChangedEventArgs args) { }; worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args) { ThirdPartyListBox.DataContext = RegScan_ThirdParty.comparisonListWithState; CheckforThirdPartyUpdatesButton.IsEnabled = true; }; worker.RunWorkerAsync(); […]

在WPF中渲染清晰的线条

如果我呈现以下内容: 我得到这个结果(Kaxaml): 注意两个形状之间的细白线。 我四处搜索,发现这与像素对齐有关。 我希望设置SnapsToDevicePixels=”True”足以摆脱该行,但这不起作用! 任何想法如何摆脱白线?