【发布时间】:2014-03-25 20:17:59
【问题描述】:
是否可以通过 XAML 将一些数据传递给绑定源/数据上下文?
在我的特定情况下,我希望为绑定源提供对创建它的窗口的引用。
例如:
<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 是我自己创造的,所以如果这涉及到添加构造函数参数或其他东西,那会很好用!
更新:我想要一个符合我项目特定要求的解决方案:
- 不使用 x:Reference 扩展。
- 使用尽可能少的代码(我希望能够在 XAML 中完成大部分工作)。
谢谢!
【问题讨论】:
标签: c# wpf datacontext staticresource