2010-03-16 3 views
1

У меня есть пользовательский элемент управления, который я загружаю в окно динамически - я хотел установить Окно так, чтобы он не имел размера, а затем я думал, что окно соответственно, в зависимости от UserControl. Однако он не может помочь кому-нибудь помочь?wpf - окно должно быть плотным круглым пользовательским элементом управления

Я сделал очень простой пример - я вырезал динамические биты и просто поместил UserControl в окно. Что мне нужно сделать, чтобы окно было жестким вокруг UserControl?

Спасибо,

Энди

<UserControl x:Class="WpfApplication1.UserControl1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Height="300" Width="300" Background="LightBlue"> 
    <Grid> 
    </Grid> 
</UserControl> 


<Window x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:WpfApplication1="clr-namespace:WpfApplication1" Title="Window1" > 
    <Grid> 
     <WpfApplication1:UserControl1> 
     </WpfApplication1:UserControl1> 
    </Grid> 
</Window> 

ответ

6

Попробуйте установить SizeToContent в WidthAndHeight на вашем окне.

См MSDN Page

+0

Работает, спасибо, спасибо! –

0

Попробуйте установить либо ширину и высоту Авто или установить SizeToContent = WidthAndHeight.

0

Как только вы знаете размер элемента управления, вам необходимо будет обновить размер окна. Я не знаю, как заставить окно автоматически изменять размер, если у вас нет кода.

Отметьте this out за все, что вам нужно знать, а также некоторые, чтобы это сделать.

0

Не уверен, если это поможет, но я хотел бы начать, делая окно:

Height="Auto" Width="Auto" 

Если это само по себе не делает трюк, я бы добавить сетку строки и столбца

<Grid.RowDefinitions> 
    <RowDefinition Height="Auto" /> 
</Grid.RowDefinitions> 

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="Auto" /> 
</Grid.ColumnDefinitions> 

И тогда я установил бы

<WpfApplication1:UserControl1 Grid.Row="0" Grid.Column="0" /> 

не на 100% уверен, что если это будет работать, но его стоит попробовать, как это то, что я делаю на моя сторона и это работает.

Смежные вопросы