作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以通过 XAML 将一些数据传递到绑定(bind)源/数据上下文?
在我的特定情况下,我希望为绑定(bind)源提供对创建它的窗口的引用。
例如:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MyNamespace"
x:Name="MyWindow">
<Window.Resources>
<local:MarginDataContext x:Key="MyDC"/>
</Window.Resources>
<!-- I want to pass in "MyWindow" to "MyDC" here... -->
<Grid Margin="{Binding Source={StaticResource MyDC}, Path=My_Margin}" />
</Window>
注意:MarginDataContext 是我自己创建的,所以如果这涉及到添加构造函数参数或其他内容,那将可以正常工作!
更新:我想要一个符合我的项目特定要求的解决方案:
谢谢!
最佳答案
您可以在 XAML 中访问 MarginDataContext 的任何属性。因此,假设您创建了一个 WindowInstance
属性,然后您可以使用 x:Reference
简单地在构造 MarginDataContext 时分配它:
<local:MarginDataContext x:Key="MyDC" WindowInstance="{x:Reference MyWindow}"/>
关于c# - 如何将参数传递给 DataContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22645381/
我是一名优秀的程序员,十分优秀!