0

ルート要素としてグリッドを持つユーザー コントロールがあります。追加情報を提供するコールアウトボックスを自分の制御下にポップアップ表示したいと考えています。私が抱えている問題は、コールアウトの高さと幅がグリッド サイズにリンクされていることです。コントロールを非常に小さくすると、コール アウト ボックスが縮小されます。吹き出しのサイズをテキスト コンテンツのサイズに合わせるにはどうすればよいですか?

ここにユーザーコントロールがあります

<UserControl
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:ed="http://schemas.microsoft.com/expression/2010/drawing" 
mc:Ignorable="d"
x:Class="WpfUserControlsTest.Door"
x:Name="UserControl"
d:DesignWidth="86" d:DesignHeight="19">

<Grid x:Name="LayoutRoot">
    <Rectangle  Fill="Red"/>
    <ed:Callout AnchorPoint="-0.012,1.349" CalloutStyle="RoundedRectangle" Content="Callout text in here" Fill="#FFF4F4F5" FontSize="14.667" HorizontalAlignment="Left" Height="53" Margin="91,-72,-167,0" Stroke="Black" VerticalAlignment="Top" Width="162"/>
</Grid>

使われているのはこちら

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfUserControlsTest" x:Class="WpfUserControlsTest.MainWindow"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Canvas>
        <local:Door HorizontalAlignment="Left" Height="9" VerticalAlignment="Top" Width="23.333" Canvas.Left="28.666" Canvas.Top="83.333" />
    </Canvas>
</Grid>

これが結果です これがクリップされた吹き出しです

4

1 に答える 1

0

WPF では、Heightおよび/またはWidthディメンションおよび/またはs を明示的に設定すると、 a自体のサイズ変更Marginが停止します。のサイズをコンテンツのサイズに合わせて変更する場合は、設定した明示的なレイアウトと寸法の値を削除するだけですUserControlUserControl

于 2013-07-22T14:11:18.030 に答える