为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确绑定到MVVM框架中用户控件的依赖项属性

如何正确绑定到MVVM框架中用户控件的依赖项属性

呼啦一阵风 2019-12-05 13:10:57
我一直无法找到一个干净,简单的示例,说明如何正确地使用MVVM框架内具有依赖项属性的WPF实现用户控件。每当我为用户控件分配数据上下文时,下面的代码都会失败。我在尝试着:从调用ItemsControl设置依赖项属性,然后使该依赖项属性的值可用于调用的usercontrol的ViewModel。我还有很多东西要学习,并衷心感谢您的帮助。这是使用依赖项属性TextInControl调用InkStringView用户控件的最顶层用户控件中的ItemsControl(来自另一个问题的示例)。   <ItemsControl                 ItemsSource="{Binding Strings}" x:Name="self" >        <ItemsControl.ItemsPanel>            <ItemsPanelTemplate>                <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Orientation="Vertical" />            </ItemsPanelTemplate>        </ItemsControl.ItemsPanel>        <ItemsControl.ItemTemplate>            <DataTemplate>                <DataTemplate.Resources>                    <Style TargetType="v:InkStringView">                        <Setter Property="FontSize" Value="25"/>                        <Setter Property="HorizontalAlignment" Value="Left"/>                    </Style>                </DataTemplate.Resources>                <v:InkStringView TextInControl="{Binding text, ElementName=self}"  />            </DataTemplate>        </ItemsControl.ItemTemplate>    </ItemsControl>这是具有依赖项属性的InkStringView用户控件。 XAML:<UserControl x:Class="Nova5.UI.Views.Ink.InkStringView"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"          xmlns:d="http://schemas.microsoft.com/expression/blend/2008"          x:Name="mainInkStringView"         mc:Ignorable="d"          d:DesignHeight="300" d:DesignWidth="300"><Grid>    <Grid.RowDefinitions>        <RowDefinition/>           <RowDefinition/>    </Grid.RowDefinitions>    <TextBlock Grid.Row="0" Text="{Binding TextInControl, ElementName=mainInkStringView}" />    <TextBlock Grid.Row="1" Text="I am row 1" /></Grid>
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 934 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信