标签: frameworkelement

指定的元素已经是另一个元素的逻辑子元素.首先断开它

这是我想要将FrameworkElement附加到新窗口以将其发布到PNG文件时的错误.

所以我的想法是删除父子链接,调用我的方法,并使用以下代码再次添加子代:

this.RemoveLogicalChild(element);
PublishFrameworkElement(element, stream);
this.AddLogicalChild(element);
Run Code Online (Sandbox Code Playgroud)

但我得到了完全相同的错误......

我在这里看了很多关于这个错误的问题,但没有回答我的问题我错过了什么?

编辑:这是适合我的代码:

var element = _GeneratedContent as FrameworkElement;
var ParentPanelCollection = (element.Parent as Panel).Children as UIElementCollection;
ParentPanelCollection.Clear();

FileStream stream = [...]

if (element != null)
{
    PublishFrameworkElement(element, stream);
    ParentPanelCollection.Add(element);
}
stream.Close();
Run Code Online (Sandbox Code Playgroud)

c# wpf frameworkelement

17
推荐指数
2
解决办法
3万
查看次数

如何以编程方式获取WPF FrameworkElement的当前可视状态?

如何以编程方式获取WPF FrameworkElement的当前可视状态?从状态我的意思是"正常","鼠标","禁用"等状态.

编辑:基本上,我正在改变按钮的视觉状态VisualStateManager.GoToState(e, "MouseOver", true);,我想知道在完成后将状态更改为什么状态.

wpf frameworkelement

13
推荐指数
1
解决办法
4352
查看次数

WPF/Silverlight中的UIElement与FrameworkElement

我何时从衍生物中获取UIElementFrameworkElement考虑FrameworkElement继承UIElement.谁能举出现实生活中的例子?

silverlight wpf frameworkelement uielement

13
推荐指数
2
解决办法
2万
查看次数

在画布上找到控制位置

我有一个包含几个文本块的画布,我需要找到我在xaml中分配的顶部左角点.我怎样才能获得这两个属性?当我遍历画布上的框架元素时,我似乎无法找到列出的属性.

wpf canvas frameworkelement

11
推荐指数
1
解决办法
2万
查看次数

WPF FrameworkElement未接收鼠标输入

试图让OnMouse事件出现在孩子身上FrameworkElement.父元素是Panel(并且Background属性不是Null).

class MyFrameworkElement : FrameworkElement
{
    protected override void OnMouseDown(MouseButtonEventArgs e)
    {
        // Trying to get here!
        base.OnMouseDown(e);
    }
}

public class MyPanel : Panel
{
    protected override void OnMouseDown(MouseButtonEventArgs e)
    {
        // This is OK
        base.OnMouseDown(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

OnMouse永远不会被调用,事件总是未被处理,Snoop告诉我,路由事件似乎只能到达Panel元素.

<Window 
  x:Class="WpfApplication5.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:l="clr-namespace:WpfApplication5"
  Title="Window1" Height="300" Width="300">
  <Border x:Name="myBorder" Background="Red">
    <l:MyPanel x:Name="myPanel" Background="Transparent">
      <l:MyFrameworkElement x:Name="myFE"/>
    </l:MyPanel>
  </Border>
</Window>
Run Code Online (Sandbox Code Playgroud)

文档说FrameworkElement处理输入,但为什么不在这种情况下?

wpf routedevent mouseevent frameworkelement

10
推荐指数
2
解决办法
2019
查看次数

FrameworkElement的DataContext属性不继承元素树

你好WPF专业人士至少我希望你们有些人读到这个!

DataContext是FrameworkElement(所有WPF控件的基类)上的属性,并作为DependencyProperty实现.这意味着逻辑树中的所有后代元素共享相同的DataContext.

所以ContentControl应该用它的后代元素做对吗?

我的情况并非如此,我想知道这种不当行为的原因是什么?!

你更了解它,请阅读这个线程(不要在这里复制一切)麻烦开始...:

WPF:找不到触发器目标'cc'.目标必须出现在任何Setters,Triggers之前

并说,它在很短的话:在ContentControl中内我的DataTemplates确实有死的DataContext,这意味着没有什么绑定到它,究竟是不可能的...

ContentControl中的每个元素都在DataContext属性中设置了NOTHING ???

wpf datacontext inheritance frameworkelement

8
推荐指数
2
解决办法
9795
查看次数

使用数据绑定值作为FrameworkElement

我的一个数据源生成一组值,这些值键入以下接口

public interface IData
{
    string Name { get; }
    FrameworkElement VisualElement { get; }
}
Run Code Online (Sandbox Code Playgroud)

我想在WPF中使用数据绑定来显示IData实例的集合,TabControl其中Name值成为选项卡的标题,VisualElement值显示为相应选项卡的内容.

绑定标题是直截了当的.我对如何定义一个允许我显示VisualElement值的模板感到困惑.我尝试了很多解决方案但收效甚微.我最好的尝试如下.

    <TabControl ItemsSource="{Binding}">
        <TabControl.ItemTemplate>
            <DataTemplate>
                <Label Content="{Binding Name}"/>
            </DataTemplate>
        </TabControl.ItemTemplate>
        <TabControl.ContentTemplate>
            <DataTemplate>
                How do I display VisualElement here?
            </DataTemplate>
        </TabControl.ContentTemplate>
    </TabControl> 
Run Code Online (Sandbox Code Playgroud)

我仍然是WPF的新手,所以我可能会错过这里显而易见的.

data-binding wpf binding frameworkelement

7
推荐指数
1
解决办法
2187
查看次数

FrameworkElement.Name问题

我试图在构造函数中设置页面的Name属性:

public partial class PageListView : Page
{
    public PageListView(string title)
    {
        InitializeComponent();
        Name = title;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我经常收到以下错误消息.

'x' is not a valid value for property 'Name'.
Run Code Online (Sandbox Code Playgroud)

x似乎是几乎所有的东西,向下钻取到异常的详细信息似乎并没有提供任何有用的信息(如的InnerException为空).

有谁知道这里发生了什么?

string wpf properties frameworkelement

7
推荐指数
1
解决办法
5580
查看次数

WPF FrameworkElement父级和移动UIElement

我正在尝试将控件从一个父母移动到另一个父母(如果这样可行,我不太确定).我可以掌握我想要移动的控件.这是我的代码:

public void MoveElement(UIElement uiElement)
{
    var element = ((FrameworkElement)uiElement).Parent;
    //TODO:Remove from parent
    myControl.Children.Add(uiElement);
}
Run Code Online (Sandbox Code Playgroud)

当我点击最后一个语句时,抛出ArgumentException,指出"指定的Visual已经是另一个Visual的子项或CompositionTarget的根".奇怪的是,Parent返回null.如何找到父母?这甚至会起作用吗?

编辑:我不认为实际移动元素是我的问题的答案.我正在使用Visual Studio SDK,并且能够掌握UIElement组成编辑器窗格(扩展DockPanel)的内容.我试图将控件从标准编​​辑器移动到我正在开发的自定义工具窗口中.

这被证明是一个黑客,我意识到我需要同一控件的多个实例,所以我认为一个更复杂的解决方案(而不是一个黑客)存储.

.net c# wpf frameworkelement uielement

6
推荐指数
1
解决办法
6398
查看次数

UIElement与FrameworkElement

我不清楚你何时会使用a UIElement而不是a FrameworkElement,为什么会有一个FrameworkElement类.从本质上讲,FrameworkElement提供的额外功能是什么,而不是UIElement

wpf frameworkelement uielement

6
推荐指数
1
解决办法
3168
查看次数