これは少しばかげた質問かもしれませんが、他に何を試すべきかわからないので、助けを求めたかったのです。私の問題は、Silverlight でコントロールを固定することです。
コントロール内にあるグリッド (C1FlexGrid) があります。コントロールはページで使用され、ブラウザ ウィンドウのサイズによってグリッド サイズを決定したいだけです。最小サイズを設定したいのですが、ユーザーがブラウザー ウィンドウを拡大すると、垂直方向と水平方向の両方に拡張できるようにします。WinForms (私はこれに慣れています) では、これは簡単です。
ただし、Silverlight では頭痛の種です。私が望むように動作させることは可能ですか?
コントロールの幅と高さを自動に設定し、デザインの幅と高さを指定しました。次に、ユーザー コントロールがページに配置され、コントロールとページの幅/高さの両方が自動に設定されます。
グリッドが数百行のデータをロードすると、200 行あるという事実に基づいてグリッドのサイズが自動的に調整されます。つまり、非常に長くなります。
編集
簡単な例の XAML を次に示します。
<navigation:Page
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:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml" x:Class="Optimize.Client.Presentation.AboutView"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480"
Title="About"
x:Name="AboutPage"
Style="{StaticResource PageStyle}">
<Grid x:Name="LayoutRoot" Background="White" MinWidth="300" MinHeight="300">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<c1:C1FlexGrid Margin="10" BorderBrush="Red" BorderThickness="1" Width="Auto" Height="Auto" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<c1:C1FlexGrid.Columns>
<c1:Column Header="User Group" Width="*" />
</c1:C1FlexGrid.Columns>
</c1:C1FlexGrid>
</Grid>
</navigation:Page>
ここで必要なのは、ページ上のグリッドだけです。ページの最小サイズは 300x300 です。ブラウザウィンドウが拡大すると、ページも拡大し、グリッドも拡大して、グリッドのすべての境界線が上/下/左/右から 10 になるようにします。レイアウト グリッドの幅/高さに * を指定しようとしましたが、まだ機能しません。
ありがとう