C# 如何强制工具提示在代码隐藏中打开?

C# 如何强制工具提示在代码隐藏中打开?,c#,wpf,C#,Wpf,下面的代码片段可以创建工具提示,但无法理解如何操作对象以强制打开工具提示。特别是ToolTipService类中的IsOpen属性不是依赖性属性,其他相关字段是只读的 cellStyle = new Style { TargetType = typeof(DataGridCell) }; var cellTrigger = new Trigger { Property = DataGridCell.IsSelectedProperty, Value = true

下面的代码片段可以创建工具提示,但无法理解如何操作对象以强制打开工具提示。特别是ToolTipService类中的IsOpen属性不是依赖性属性,其他相关字段是只读的

        cellStyle = new Style { TargetType = typeof(DataGridCell) };
        var cellTrigger = new Trigger { Property = DataGridCell.IsSelectedProperty, Value = true };
        cellTrigger.Setters.Add(new Setter(BackgroundProperty, Brushes.IndianRed));
        **cellTrigger.Setters.Add(new Setter(ToolTipService.ToolTipProperty, toolTipString));**
        cellStyle.Triggers.Add(cellTrigger);
        dataGridName.CellStyle = cellStyle;

不要在WPF的过程代码中操纵UI元素。这就是XAML的用途。为此创建适当的ViewModel,并让XAML中的
触发器对ViewModel级别的属性更改作出反应。我真的需要像这样重复我自己吗?在这个阶段,这可能是不可能的,可能会破坏其他代码。我要求一个代码隐藏解决方案。
这可能不可能
-不可能。用正确的方式做事总是可能的<代码>开始时不应存在的其他代码
。您不应该在过程代码中操作UI,也不应该在UI中放置业务逻辑。在用WPF编写一行代码之前先学习MVVM。我认为另一个好原则是将演示或用户界面(UI)与应用程序的真正本质分离。通过遵循这一原则,我一次又一次地幸运地经历了变化。所以我认为这是一个很好的遵循原则。-马丁·福勒里同意。但是,该应用程序已经建立,并且从一开始就没有使用此模式开发。