XAML,将 Width 和 Height 属性绑定到其他控件的相同属性

2024-04-05

我正在尝试创建反射效果,它工作得很好,只是我必须对一些值进行硬编码。这是我的 XAML:

 <Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="60"/>
        <RowDefinition />
        <RowDefinition Height="80"/>
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="1" VerticalAlignment="Center">
        <UserControl x:Name="CurrentPresenter" />
        <Border Width="500" Height="200" >
            <Border.Background>
                <VisualBrush Visual="{Binding ElementName=CurrentPresenter}" >
                    <VisualBrush.Transform>
                        <TransformGroup>
                            <ScaleTransform ScaleX="1" ScaleY="-1" CenterX="500" CenterY="99" />
                        </TransformGroup>
                    </VisualBrush.Transform>
                </VisualBrush>
            </Border.Background>
            <Border.OpacityMask>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.6">
                        <GradientStop Offset="-0.6" Color="Black"></GradientStop>
                        <GradientStop Offset="0.6" Color="Transparent"></GradientStop>
                    </LinearGradientBrush>
                </Border.OpacityMask>
        </Border>
    </StackPanel>
</Grid>

我尝试过更换 BorderWidth="500" and Height="200" by Width="{Binding ElementName=CurrentPresenter, Path=Width}" and Height="{Binding ElementName=CurrentPresenter, Path=Height}"但它似乎不起作用。

这段代码有什么问题?

更新:如果我在这里设置宽度和高度:

<UserControl x:Name="CurrentPresenter" Height="200" Width="500" />

它按预期工作。但是,如果我在 UserControl XAML 中设置这些值,它将不起作用。有任何想法吗?


您是否尝试过绑定到 UserControl 的 Height 和 Width 属性,而不是绑定Height and Width的属性Border to the ActualHeight and ActualWidth用户控件的属性?

<Border 
 Width="{Binding ElementName=CurrentPresenter, Path=ActualWidth}"
 Height="{Binding ElementName=CurrentPresenter, Path=ActualHeight}" >
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XAML,将 Width 和 Height 属性绑定到其他控件的相同属性 的相关文章

  • 属性绑定与属性插值

    我读过一篇关于属性和属性绑定之间差异的文章 据我了解 大多数时候 Angular2 更喜欢属性绑定 因为每次数据更改后 DOM 都会更新 如果我错了 请纠正我 我有一个自定义组件并从父组件中使用它 其中 我有一个 Input named t
  • 为什么 DataBinding 没有传播到 UserControl

    今天早上我问了一个问题here https stackoverflow com questions 39835222 command binding is not propagating for control into a datatem
  • 如何让内部控件不覆盖主控件的事件?

    我有一个UserControl其中包含一些内部控件 像这样的东西 现在当我在我的项目中使用它时 我想要every如果单击 我的控件点会引发相同的单击事件 就像其他控件一样 但问题是 我的处理程序在另一个项目中 仅当我单击背景上的某个位置 而
  • 实现具有多项选择的项目列表

    在我的 WP8 应用程序中 我想实现一个与标准邮件应用程序中的功能非常相似的功能 用户能够从列表中选择多个项目 我提供了一些屏幕截图来说明此行为 Normal state User taps item s left corner and i
  • 当 Button.CommandProperty 为 null 时如何禁用按钮

    简短说明 Button CommandProperty 绑定到 ViewModel 的 SomeObject SomeCommand 属性 当 SomeObject 的 SomeCommand 属性设置为 null 或整个 SomeObje
  • 如何将 ICommand 添加到 FrameworkElement 中的事件?

    我怎样才能添加一个ICommand到一个事件从FrameworkElement 具体来说我想做以下事情
  • ToProperty 和 BindTo - 无需订阅即可获取初始值

    我在 NET 4 5 中使用 RXUI 6 和 WPF 当绑定到的 ViewModel 属性由一个支持时 我一直无法获取提供给我的视图的初始值ObservableAsPropertyHelper 根据文档 https github com
  • 绑定到 ViewModel 和 CodeBehind 中的属性

    我确信这是一个可笑的无知问题 但无论如何我还是要问这个问题 因为我搜索了又搜索 要么不理解我所看到的解决方案 要么没有找到我所寻求的答案 我有一个 MVVM 应用程序 我的 XAML 设置为 VM 的 DataContext 其中屏幕上的数
  • 如何在 WPF 中的窗口上绘图(最佳实践)?

    我正在尝试编写一个类似交互式游戏的小型应用程序 我需要有一个Draw方法将在屏幕上绘制 但无法弄清楚如何构造 WPF 的方法 如果这是Winforms 我可以使用 public void Draw Graphics g 但对于一个WPF W
  • 将 XML 绑定到 ItemsSource 时应用动态 XPath 表达式

    我有一个 XML 文档 描述如何为用户输入构建 UI 元素 并且有包含一些数据和 XPath 表达式的数据对象 我有一个数据对象类型的 DataTemplate 它使用 HierarchicalDataTemplate 来构建基于 XML
  • 如何在 Kaxaml 中引用不同的 DLL

    我想在 Kaxaml 中使用 DataGrid 如何引用工具包 dll Copy WPFToolkit dll to C Program Files Kaxaml 重新启动 Kaxaml 现在你可以使用这样的命名空间 xmlns dg cl
  • jQuery $(window).resize() 在减小窗口高度时不起作用

    我有一个 id 为 main 的 div 我想使用 jQuery 设置它的高度并使其在window resize它的高度是使用函数修改的 但由于某种原因 它仅在增加窗口高度时才能正常工作 而在减小窗口高度时则不起作用 这是JS functi
  • c# UWP - 将字节数组转换为 InMemoryRandomAccessStream/IRandomAccessStream

    我在将字节数组转换为InMemoryRandomAccessStream or IRandomAccessStream在 Windows 8 中 这是我的代码 但它不起作用 internal static async Task
  • 如何在应用程序启动时预加载 XAML?

    我有相当大的用户控件 它没有显示在主屏幕上 但用户几乎总是在以后使用它 第一次加载需要一些时间 解析 BAML 等 然后其他实例的构建速度相当快 问题是如何使其在启动屏幕期间在应用程序启动时预加载 我的想法是在启动时构建 usused 实例
  • 无法将“Windows.UI.Xaml.Controls.ItemsControl”类型的对象强制转换为“Windows.UI.Xaml.Controls.Image”类型

    我在此项目控件中放置了一个点击事件 以便在点击图像时查看图像 但是当我这样做时 我收到此错误 我该如何修复它 我尝试更改为项目图像但不存在 XAML 代码
  • 绑定到 Singleton 类 Observable 集合成员

    我似乎无法弄清楚这一点 我在这里发现了一些类似的问题 但要么我无法找出我的方法的正确方向 要么我正在做一些完全错误的事情 我的应用程序有一个单例类记录器 它保存程序中每个类的日志消息 public class Logger private
  • 路由器出口的 Angular 2 输出

    我想从在路由器出口内呈现的子组件进行导航 我的父组件有一个路由器配置 我想在某些事件上手动导航 但我不知道如何在没有输出的情况下从子级向父级传递一些数据 用于导航 因为这个结构不起作用
  • Marionette.View 中 UI 元素的可用性

    我只是想了解 Backbone Marionette 关于 UI 元素的观点背后的决定 在现有 DOM 元素上实例化 Marionette View 时 如下所示 view new Marionette ItemView el elemen
  • 初始化组件不存在

    InitializeComponent 此代码行出现在我的所有 Xaml 页面的构造函数中的代码隐藏中 它抛出以下错误 初始化组件不存在 现在我无法调试项目中的任何页面 尽管我已经注释掉了这一行 我怎样才能解决这个问题 任何帮助将不胜感激
  • 能否为一种 XAML 样式定义多个 TargetType?

    在 HTML CSS 中 您可以定义可应用于多种类型元素的样式 例如 highlight color red 可以应用于 P 和 DIV 例如 p class highlight this will be highlighted p div

随机推荐