0

最近、VS2010 から Visual Studio 2012 に切り替えました。他のユーザー コントロールのテンプレートであるユーザー コントロールがいくつかあります。最初のものにはいくつかの ContentControl があり、その内容は 2 番目のもので定義されています。

テンプレート コントロール (ImpegniBaseView) に基づくユーザー コントロールの定義に従います。

<localView:ImpegniBaseView>

        <localView:ImpegniBaseView.ActionButtons>
            <StackPanel Height="54" HorizontalAlignment="Left"  VerticalAlignment="Top" Width="668" Orientation="Horizontal">
                <Button Content="Salva" Height="31" Width="88"  Command="{Binding Path=SaveCommand}" IsEnabled="{Binding Editable}" Margin="5,0" />
                <Button Command="{Binding Path=CreateCommand}" Content="Nuovo impegno master" Height="31" Width="Auto" 
                    Visibility="{Binding IsFirstLevelView, Converter={StaticResource BoolToVisibility}}"    
                    IsEnabled="{Binding Path=Editable, Converter={StaticResource InverseBooleanConverter}}" Margin="5,0" />

            </StackPanel>
        </localView:ImpegniBaseView.ActionButtons>
    </localView:ImpegniBaseView>

Vs 2010 では、たとえば、デザイナーの [Salva] ボタンを簡単に選択できました。現在、私はできません。デザイナーのオプションを変更する必要があると思いますが、どのオプションかわかりません...

更新 テンプレートとして使用されるユーザー コントロールの関連部分に従います

<UserControl x:Class="Ragioneria.View.ImpegniBaseView"
         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" 
         xmlns:local="clr-namespace:Ragioneria"
         mc:Ignorable="d" 
         d:DesignHeight="450" d:DesignWidth="700">

<DockPanel DataContext="{Binding ImpegnoSelezionato}">
    <DockPanel DockPanel.Dock="Top">
        <StackPanel Orientation="Horizontal" DockPanel.Dock="Left">
            <Label Content="Anno/Num-Sub" Height="28" HorizontalAlignment="Left" Margin="5" Name="label1" VerticalAlignment="Top" Width="Auto" />
            <ContentControl  Content="{Binding Path=IdentificazioneImpegnoSection, RelativeSource={RelativeSource AncestorType=UserControl}}" Width="400" Height="28" Margin="5" />



        </StackPanel>

        <TextBox Height="28" Width="100" Name="textBox9" Text="{Binding Path=DataRegistrazione, StringFormat=d}" DockPanel.Dock="Right" Style="{DynamicResource tb_readonly}" TextAlignment="Right" Margin="5" />
        <Label Content="Data" Height="28" Margin="5" Name="label7" Width="50" DockPanel.Dock="Right"/>

    </DockPanel>

    <ContentControl DockPanel.Dock="Bottom"  
                    DataContext="{Binding DataContext.ActiveWorkspace, RelativeSource={RelativeSource  AncestorType=Window}}"
                    Content="{Binding Path=ActionButtons, RelativeSource={RelativeSource AncestorType=UserControl}}" />
</DockPanel>

ありがとうフィリッポ

4

1 に答える 1

0

[AlternateContentProperty]に追加する必要がありActionButtonsます。

残念ながら、Silverlight とは異なり、この属性は標準ライブラリにはありません。

代わりに、Microsoft.Windows.Design.Interaction.dll の Microsoft.Windows.Design.PropertyEditing.AlternateContentProperty を使用する必要があります。

これは Visual Studio からの再配布不可能な dll であるため、直接参照することはできず、デザイナー メタデータ アセンブリを作成する必要があります。

このバグを見て、ここ で投票してください。

于 2013-03-24T17:29:33.923 に答える