2012-01-22 4 views
2

WPF로 응용 프로그램을 만들고 있는데 Awesomium WebControl이있는 UserControl이 있습니다.Awesomium이 WindowsBase.dll에서 ArgumentException을 발생시킵니다.

이 주 창에이 UserControl 복사본을 추가하는 순간 WindowsBase.dll에서 "너비 및 높이가 양수 여야합니다."라는 ArgumentException이 표시됩니다. @LukeWoodward 요청으로

<UserControl x:Class="ForumPost.ForumPost" 
     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" 
     mc:Ignorable="d" MinWidth="505" MinHeight="250" xmlns:my="http://schemas.awesomium.com/winfx"> 
<Grid Name="postGrid" Margin="5"> 
    <Grid.RowDefinitions> 
     <RowDefinition/> 
     <RowDefinition/> 
    </Grid.RowDefinitions> 

    <Grid Background="#3166A1"> 
     <Grid.RowDefinitions> 
      <RowDefinition MinHeight="150" /> 
     </Grid.RowDefinitions> 

     <Grid.ColumnDefinitions> 
      <ColumnDefinition MinWidth="150" /> 
      <ColumnDefinition MinWidth="100" /> 
      <ColumnDefinition MinWidth="125" /> 
      <ColumnDefinition MinWidth="125" /> 
     </Grid.ColumnDefinitions> 

     <Grid Height="150"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="25" /> 
       <RowDefinition Height="125" /> 
      </Grid.RowDefinitions> 

      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition MinWidth="20"/> 
        <ColumnDefinition/> 
       </Grid.ColumnDefinitions> 

       <Image Margin="0 0 5 0" Name="specialUserFlag"/> 

       <TextBlock TextAlignment="Center" FontWeight="Bold" FontSize="16" Foreground="White" Name="postUsername" Grid.Column="1"/> 
      </Grid> 

      <Image Grid.Row="1" MaxWidth="125" MaxHeight="125" Name="postAvatar" /> 
     </Grid> 

     <TextBlock Grid.Column="2" TextAlignment="Center" FontWeight="Bold" FontSize="16" Foreground="White" VerticalAlignment="Center" Name="postTimestamp" TextWrapping="Wrap" /> 

    </Grid> 
    <my:WebControl Grid.Row="1" Name="webBrowser"/> 
</Grid>  

그리고 여기, 내 메인 창입니다 : 내가 지금 할 수있었습니다

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" x:Class="Saxaphone.MainWindow" 
    Title="MainWindow" Height="850" Width="1600" 
    Icon="main.ico"> 

<Grid x:Name="MainGrid"> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="305" /> 
     <ColumnDefinition MinWidth="1017" /> 
    </Grid.ColumnDefinitions> 

    <TreeView x:Name="ForumView" ScrollViewer.HorizontalScrollBarVisibility="Diforumbled" Style="{DynamicResource ForumViewStyle}" SelectedItemChanged="ForumView_SelectedItemChanged" /> 

    <Grid x:Name="forumGrid" Grid.Column="1"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="512" /> 
      <ColumnDefinition /> 
     </Grid.ColumnDefinitions> 

     <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden" Grid.Column="0" Height="{Binding ActualHeight, ElementName=forumGrid}"> 
       <StackPanel x:Name="forumThreads"></StackPanel> 
     </ScrollViewer> 

     <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto" Grid.Column="1" Height="{Binding ActualHeight, ElementName=forumGrid}"> 
      <StackPanel x:Name="forumPosts"/> 
     </ScrollViewer> 
    </Grid> 
</Grid> 

+0

죄송합니다. 받고있는 오류를 재현하지 못했습니다. 나는 너비와 높이를 UserControl과 WebControl을 0으로 설정하려고 시도했지만 여전히 오류를 얻지는 못했다. 주 창 XAML을 추가하십시오 (또는 오류를 재현하기에 충분할만큼)? –

+0

나는 그것을 추가했다. 나는 코드에서 사용자 정의 컨트롤을 만들고 두 번째'StackPanel '에 배치하려고합니다. – Sinestro

답변

3

여기

는 UserControl을이다 ArgumentException을 재현하십시오. 나는 이것이 Awesomium의 버그라고 생각합니다. Awesomium Support http://support.awesomium.com/에 연락하는 것이 좋습니다.

다음 XAML로 ArgumentException을 재현하는 것으로 충분하다는 것을 알게되었습니다.

<StackPanel> 
    <as:WebControl xmlns:as="http://schemas.awesomium.com/winfx" /> 
</StackPanel> 

나는 WebControl에 명시 적 WidthHeight을 설정하여이 문제를 해결하기 위해 가능하다는 것을 발견 : 런타임에 사용자가 직접 컨트롤도 추가 컨트롤에 대한 필요가 없었다. WebControlStackPanel (WebControl)이 이고WidthHeight 인 경우를 제외하고는 StackPanel 안에있는 것을 좋아하지 않는 것으로 보입니다.

0

우리는이 문제를 알고 있으며 1.7 최종 버전에서 수정 될 예정입니다.

관련 문제