0

みなさん、

XAML でプロパティに複数のコントロールを割り当てることは可能でしょうか。

XAML に 2 つのコントロールがあるとします。

<Button x:Name="_Btn1 Content="Button 1" />
<Button x:Name="_Btn2 Content="Button 2" />

<local:MyControl x:Name="_MyCtrl" Controls="{what goes here?}" />

または、次のように、コントロールをコンテナー コントロールとして宣言し、すべてのコントロールをその中に配置する必要があります。

<local:MyControl x:Name="_MyCtrl">
    <Button x:Name="_Btn1 Content="Button 1" />
    <Button x:Name="_Btn2 Content="Button 2" />
</local:MyControl>

事前にt​​hnx!

グルツ、ドウィ

4

3 に答える 3

0

MyControlにItemsControlを継承させると、それを行うことができます。

それからこれ

<local:MyControl x:Name="_MyCtrl">
   <Button x:Name="_Btn1 Content="Button 1" />
    <Button x:Name="_Btn2 Content="Button 2" />
</local:MyControl>

動作し、これ

<local:MyControl x:Name="_MyCtrl" ItemsSource="ViewModelorControlCollection" />

も機能します。

ViewModelorControlCollection は、ViewModel で定義するか、xaml で静的リソースとして定義できます。

于 2012-10-23T07:59:41.407 に答える
0

それは本当にあなたが何をするかによって異なります。DataTemplate通常、代わりにa を定義するだけです。

<local:MyControl x:Name="_MyCtrl">
    <local:MyControl.ControlsTemplate>
        <DataTemplate>
            <StackPanel>
                <Button x:Name="btn1" Content="Button 1" />
                <Button x:Name="btn2" Content="Button 2" />
            </StackPanel>
        </DataTemplate>
    </local:MyControl.ControlsTemplate>
</local:MyControl>
于 2012-10-23T08:04:41.773 に答える
0

必ず何らかのコンテナが必要です。これは、単純なリストまたは特殊なコレクションにすることができます。コントロールで使用するものは何でも。

<local:MyControl>
    <local:MyControl.Controls>
        <ControlCollection> <!-- or whatever -->
            <Button/>
            <Button/>
        </ControlCollection>
    </local:MyControl.Controls>
</local:MyControl>

a または類似のクラスを使用する場合は、を明示的Panelに指定する必要はありませんControlCollection。その後、たとえば のようにコントロールを定義できますStackPanel

于 2012-10-23T08:05:10.877 に答える