Tag: xaml

我可以将整个UI元素传递给IValueConverter吗?

ComboBox的地址与选定得分最高的地理数据库匹配。 Textblock具有用于输入匹配的地址。 如果地址相同,我希望前景为绿色,否则为红色。 我想也许我可以将整个TextBlock传递到dataconverter,获取其父StackPanel,获取子0,转换为Combobox获取第0个元素并进行比较,然后返回红色或绿色。 这可以吗? 否则我想我必须遍历视觉树,这就像我想的那样丑陋

如何设置DataGridColumn的宽度以适合内容(“Auto”),但是完全填充MVVM中DataGrid的可用空间?

我有一个包含一些数据的WPF DataGrid 。 我想设置列的宽度,使内容适合并永远不会被裁剪(相反,水平滚动条应该变得可见)。 另外,我希望DataGrid可以填充整个可用位置(我正在使用DockPanel )。 我使用以下代码(简化): 这显然不能使用Width=”Auto”开箱即用,因为它总是看起来像这样: 这显然看起来很难看。 我想选择整行,或者更好的是填充整个宽度的列,但是可以看出,这不起作用。 如果我改用Width=”*” ,列的内容会被裁剪,这对我来说更糟糕。 我在这里找到了一个类似的问题 ,并在那里发布了一个解决方法。 这可能有用,但我正在使用MVVM模式,因此ItemsSource在ViewModel中得到更新 ,我无法想到从那里开始的方式,因为我无法访问DataGridColumn的ActualWidth属性。 另外,如果可能的话,我想只在XAML中这样做。 我将不胜感激任何帮助。 谢谢! 编辑:因为我仍然不知道如何处理它,我开始小小的赏金。 关于我可以对我的问题采取什么建议,我会非常高兴。 再次感谢! 编辑2:在香肠’回答后,我再次考虑了这些选项。 问题是我还需要在应用程序运行期间更新Width和MinWidth属性,因此不仅在加载窗口之后。 我已经尝试过这样的事情 column.Width = new DataGridLength(1, DataGridLengthUnitType.Auto); column.MinWidth = column.ActualWidth; column.Width = new DataGridLength(1, DataGridLengthUnitType.Star); 在某些事件中,当DataGrid的基础ItemsSource正在更新时触发。 但是,这不起作用,因为在Auto上设置Width后, ActualWidth属性似乎没有变化。 有没有选项以某种方式“重新”它以便更新ActualWidth属性? 谢谢!

为window.resources样式创建自定义绑定属性

我之前为自定义控件创建了几个自定义绑定,但由于这种情况是针对按钮的window.resources样式(相反,一个控件模板),我不知道从哪里开始代码。 我将在哪里创建viewmodel,它将inheritance或引用什么? XAML: Hovercolor setter是这里的关键

启用/禁用RadDataGrid数据模板列中的按钮,它们具有在条件下绑定到它们的命令

我设置了一个bool属性并将其绑定到xaml中的IsEnabled,但ICommand CanExecute方法覆盖了xaml中的IsEnabled,因此我的bool属性无效。 当我在视图模型中定义CanExecute方法中的条件时,它会禁用方法所绑定的所有按钮,或者启用所有这些按钮。 它是一个网格,每行显示3个不同的按钮,每个按钮转到一个新的xaml屏幕。 如果按钮所在的行上没有特定条件的数据,则需要禁用该按钮。 我如何设置此项以便按钮在某种情况下被禁用? 自定义命令: public class CustomCommand : ICommand { private Action execute; private Predicate canExecute; public CustomCommand(Action execute, Predicate canExecute) { this.execute = execute; this.canExecute = canExecute; } public event EventHandler CanExecuteChanged { add { } remove { } } public bool CanExecute(object parameter) { //throw new NotImplementedException(); bool b = […]

棱镜 – 跨区域数据绑定

可以说我有2个区域A和B. 地区A: HAHAHA B区: 这不起作用。 修复此问题的解决方法是什么,因此在区域B中还显示“HAHAHA”?

WPF:如何在XAML中使用您自己的C#代码中的变量来创建样式

WPF和XAML新手在这…. 我需要将XAML代码中的WPF Trigger或DataTrigger到除XAML控件类之外的类中的某些C#代码中。 这非常令人沮丧,因为我读过的所有28,000个教程只给出了涉及已经存在的属性的 Trigger或DataTrigger一个简单示例(例如MouseOver ),它们都没有给出如何将它与您自己的C#代码绑定的示例。 我有一个显示各种报告类型的屏幕。 所有报告类型的XAML都是相同的,但对于诊断报告,我的要求是DataGrid单元格配置为TextBlock.TextAlignment=”Left” ,而所有其他报告(即默认值)应为TextBlock.TextAlignment=”Center” 。 (还有一些其他差异;为了简洁起见,我只是说这是唯一的区别。)我真的不想将整个XAML复制到特殊情况下的诊断报告中,因为其中99%将是与其他报告相同。 要使用Trigger,我想也许我需要我的类inheritanceDependencyObject所以我可以在其中定义DependencyProperty(作为一个WPF新手,我意识到我可能会说一些非常古怪的东西)。 所以在我的C#代码中,我有一个类… namespace MyApplication { public enum SelectedReportType { EquipSummary, EventSummary, UserSummary, DiagSummary } public sealed class ReportSettingsData : DependencyObject { private static ReportSettingsData _instance; // singleton static ReportSettingsData() { new ReportSettingsData(); } private ReportSettingsData() // private because it’s a singleton { if (_instance […]

XAML Designer窗口不会加载“通用Windows”应用程序 – 即使在新项目中也是如此

我似乎记得以前遇到过这种情况,但不能为我的生活回想起我是如何解决这个问题的,并且谷歌的深度似乎没有帮助。 这是问题所在: 当我使用“通用Windows”项目打开VS2015(社区版)时,无论是新的还是旧的,即使没有改变一件事,我在设计器窗口中都会出现exception。 XAML代码显示正常,但设计器窗口给了我 “错误0X80070005:处理请求时,由于以下错误,系统无法注册windows.capability扩展:访问被拒绝。” 接下来是我将在下面包含的一面文字。 我想知道这是否可能是因为我最近更新到了Windows 10(由于某种原因,我强迫它在没有常见的解决方法的情况下仍然无法更新)并且我在VS安装中添加了使用Universal应用程序所需的function。 如果我打开一个通用Windows 8.1项目,设计器加载得很好,但不适用于通用Windows项目。 值得注意的是,我是业余学习C#,所以这可能很简单,但对我来说似乎是IDE中的一个错误…… 这是文本的墙,以防任何人都有意义。 无法注册System.Exception包。 错误0x80070005:处理请求时,由于以下错误,系统无法注册windows.capability扩展:访问被拒绝。 。 在Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.ProcessDomainFactory.ProcessIsolationDomain的Microsoft.VisualStudio.DesignTools.HostUtility.Platform.AppContainerProcessDomainFactory.CreateDesignerProcess(String applicationPath,String clientPort,Uri hostUri,IDictionary environmentVariables,Int32&processId,Object&processData)。 Microsoft.VisualStudio.DesignTools.HostUtility.Platform.AppContainerProcessDomainFactory上的Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.ProcessDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)中的.ctor(ProcessDomainFactory工厂,IIsolationBoundary边界,AppDomainSetup appDomainInfo,IIsolationTarget isolationTarget,String baseDirectory) .CreateIsolationDomain(IIsolationBoundary boundary)at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.IsolationBoundary.Initialize()at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.IsolationBou Microsoft的Microsoft.VisualStudio.DesignTools.DesignerHost.Services.VSIsolationService.CreateObjectFactory(IIsolationTarget isolationTarget,IObjectCatalog目录)中的Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedObjectFactory.Initialize()的ndary.CreateInstance [T](Type type)。 Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.CreateLease(IIsolationTarget isolationTarget,CancellationToken)上的Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)中的VisualStudio.DesignTools.DesignerContract.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)在Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedTaskS上的Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.IsolatedDesignerView.CreateDesignerViewInfo(CancellationToken cancelToken)中的cancelToken,DesignerServiceEntry&entry,IServiceProvider serviceOverrides) cheduler.InvokeWithCulture [T](CultureInfo culture,Func 2 func, CancellationToken cancelToken) at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedTaskScheduler.c__DisplayClass10_0 1.b__0()at System.Threading.Tasks.Task`1.InnerInvoke ()at System.Threading.Tasks.Task.Execute()

ListView InputBinding MouseBinding不起作用

为什么ListView.InputBindings不起作用? 我以相同的方式实现了Interaction.Triggers ,它运行得很好。 真的不想在没有它的情况下使用那些额外的东西( System.Windows.Interactivity for Interaction.Triggers )

如何将列表框中的页面导航设置为另一个页面?

您好我正在使用下面给出的XAML文件。我想将列表框选中的项目导航到另一个页面。 我的xml文件如下所示 img {padding:2px;} Sherawat is all set to begin shooting for Dirty Politics where she plays Bhanwari Devi, a nurse whose murder hit the headlines last year. Meanwhile, she gets talking on Hollywood where she has not really had any meaty roles. “/> Sonam Kapoor/li> “/> img {padding:2px;} “/> Touch, tap, flip, slide! You don'you experience it. […]

图像编辑例外

我正在使用MVVM在WPF应用程序中工作。 在imageSlider中加载和编辑图像会给我错误和exception。 加载图像: Insufficient memory to handle编辑图像: Sharing violation 视图模型: public class ImageList : INotifyPropertyChanged { #region Fields private ObservableCollection images = new ObservableCollection(); private int selectedIndex; private ImageItem currentImage; #endregion Fields #region Properties public ObservableCollection Images { get { return images; } set { images = value; } } public int SelectedIndex { get […]