是否可以通过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中完成大部分工作)。