代码之家  ›  专栏  ›  技术社区  ›  tomash

XAML-获取用户控件相对于整个窗口的位置作为绑定属性

  •  1
  • tomash  · 技术社区  · 17 年前

      <UserControl x:Class="Test.MessageControl"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          Width="300">
          <StackPanel >
              <Label Name="LabelTest" 
              Content="{Binding RelativeSource={RelativeSource Self}, 
              Path=MAGIC-GOES-HERE-Location.Y }" />
          </StackPanel>
       </UserControl>
    
    1 回复  |  直到 12 年前
        1
  •  2
  •   Giffyguy    16 年前

    如果你真的需要知道东西在哪里,你 使用父控件的属性来解决这个问题。(微软已经做到了,这是唯一可靠的方法了。)


    如果你有一个有两行的网格,而你的UserControl在第二行,你可以把第一行的ActualHeight属性当作UserControl的“Location.Y”属性,而不是查看控件本身来提供它的位置。

    这是你必须习惯的事情,因为再也没有办法绕过它了。

    <Grid> 设计中的某个元素。它以一种非常直接的方式提供有关控件位置的信息。它的工作方式就像一个动态调整大小的HTML表的智能版本。您可以检索任何行或列的ActualWidth和ActualHeight属性,如果需要,甚至可以检索整个网格本身的属性。

    推荐文章