2010-11-10 3 views
0

Почему этот сбой ListBox на окнах XP, а не Vista, или Windows 7,WPF ListBox аварии на XP

Чем она строит нормально без ошибок, но когда IAM пытается запустить его в хр разбился, и я получаю эту ошибку. . System.FormatExeption

<ListBox Name="lvMyAssignments" ScrollViewer.VerticalScrollBarVisibility="Hidden" Height="280" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
<ListBox.ItemTemplate> 
    <DataTemplate> 
     <Button Margin="0,3,0,0" Tag="{Binding Path=Plocklista}" Background="Transparent" Click="Open_Assignment"> 
      <StackPanel> 
       <Border BorderBrush="Black" BorderThickness="1,1,1,0"> 
        <Border.Style> 
         <Style> 
          <Style.Triggers> 
           <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}}}" Value="True"> 
            <Setter Property="Border.Height" Value="100"/> 
            <Setter Property="Border.Background"> 
             <Setter.Value> 
              <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" MappingMode="RelativeToBoundingBox"> 
               <GradientStop Color="DarkGray" Offset="1"/> 
               <GradientStop Color="#FFE8E8E8"/> 
               <GradientStop Color="#FFBDBDBD" Offset="0.153"/> 
               <GradientStop Color="DarkGray" Offset="0.904"/> 
              </LinearGradientBrush> 
             </Setter.Value> 
            </Setter> 
           </DataTrigger> 
          </Style.Triggers> 
         </Style> 
        </Border.Style> 
        <Border.Background> 
         <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" MappingMode="RelativeToBoundingBox"> 
          <GradientStop Color="#FFECECEC" Offset="1"/> 
          <GradientStop Color="#FFE8E8E8"/> 
          <GradientStop Color="#FFBDBDBD" Offset="0.153"/> 
          <GradientStop Color="#FFE8E8E8" Offset="0.904"/> 
         </LinearGradientBrush> 
        </Border.Background> 
        <StackPanel Orientation="Horizontal" VerticalAlignment="Center"> 
         <Border BorderBrush="Darkgray" BorderThickness="0,0,1,0"> 
          <DockPanel Width="555"> 
           <ItemsControl Height="70" ItemsSource="{Binding Path=Descriptions}" Background="Transparent" BorderThickness="0" > 
            <ItemsControl.ItemTemplate> 
             <DataTemplate> 
              <StackPanel Orientation="Horizontal"> 
               <TextBlock FontWeight="Bold" Text="{Binding Path=Value}"/> 
               <TextBlock FontWeight="Bold" Margin="5,0,0,0" Text="{Binding Path=Key}"/> 
              </StackPanel> 
             </DataTemplate> 
            </ItemsControl.ItemTemplate> 
           </ItemsControl> 
          </DockPanel> 
         </Border> 
         <StackPanel HorizontalAlignment="Center"> 
          <StackPanel.Background> 
           <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> 
            <LinearGradientBrush.RelativeTransform> 
             <TransformGroup> 
              <TranslateTransform X="-0.5" Y="-0.5"/> 
              <ScaleTransform ScaleX="1" ScaleY="1"/> 
              <SkewTransform AngleX="0" AngleY="0"/> 
              <RotateTransform Angle="90"/> 
              <TranslateTransform X="0.5" Y="0.5"/> 
              <TranslateTransform X="0" Y="0"/> 
             </TransformGroup> 
            </LinearGradientBrush.RelativeTransform> 
            <GradientStop Color="sc#1, 1, 0.158960834, 0.004391442" Offset="0"/> 
            <GradientStop Color="sc#1, 1, 0.5, 0.5" Offset="1"/> 
           </LinearGradientBrush> 
          </StackPanel.Background> 
          <StackPanel HorizontalAlignment="Center"> 
           <StackPanel.Background> 
            <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> 
             <LinearGradientBrush.RelativeTransform> 
              <TransformGroup> 
               <TranslateTransform X="-0.5" Y="-0.5"/> 
               <ScaleTransform ScaleX="1" ScaleY="1"/> 
               <SkewTransform AngleX="0" AngleY="0"/> 
               <RotateTransform Angle="90"/> 
               <TranslateTransform X="0.5" Y="0.5"/> 
               <TranslateTransform X="0" Y="0"/> 
              </TransformGroup> 
             </LinearGradientBrush.RelativeTransform> 
             <GradientStop Color="sc#1, 1, 0.158960834, 0.004391442" Offset="0"/> 
             <GradientStop Color="sc#1, 1, 0.5, 0.5" Offset="1"/> 
            </LinearGradientBrush> 
           </StackPanel.Background> 
           <TextBlock Text="{Binding Path=Antal}" TextAlignment="Center" Width="100" FontSize="44pt" FontFamily="Calibri"/> 
          </StackPanel> 
         </StackPanel> 
        </StackPanel> 
       </Border> 
      </StackPanel> 
     </Button> 
    </DataTemplate> 
</ListBox.ItemTemplate> 

ответ

1

Единственное, что я вижу в вашем XAML, которые могут быть затронуты версии ОС является Font="Calibri", так как XP будут иметь различные шрифты, установленные чем Vista/Win7, и WPF имеет свой собственная обработка шрифтов. Может быть, так оно и есть, но, вероятно, нет.

Предлагаю вам опубликовать трассировку стека в форматеExceptionException. Это может дать некоторые реальные подсказки. Также попробуйте свернуть свой XAML до минимума, необходимого для получения ошибки. Тогда мы с большей вероятностью увидим это.

+0

Это был шрифт. Спасибо за помощь – Tan