2010-09-08 30 views
5

Khi một Biểu đồ mới được tạo và một Chuỗi (Ví dụ Cột) được thêm cùng với dữ liệu, các cột được hiển thị dưới dạng loại hoạt ảnh FadeIn và xuất hiện một giây sau khi Biểu đồ được vẽ trên màn hình .Bộ công cụ WPF - Hủy kích hoạt Biểu đồ Hoạt ảnh

Có cách nào để dừng hoạt ảnh này xảy ra không? Ngoài ra, liệu có bắt buộc biểu đồ phải hoàn thành hoạt ảnh trước khi hiển thị không?

Paul

Trả lời

1

tôi đã tải về mã nguồn mới nhất tại http://wpf.codeplex.com/SourceControl/list/changesets

ý tưởng của tôi là, để loại bỏ các hình ảnh động bằng cách thay đổi phong cách cho loạt bảng xếp hạng khác nhau (điểm biểu đồ, DataPointStyle)

dụ cho charting:PieDataPoint

cố gắng xóa hoạt ảnh cho dữ liệu được hiển thị và mang phong cách của riêng bạn bằng một khóa nhất định (x: key = "myStyle" ->DataPointStyle="{StaticResource myStyle}")

và loại bỏ Opacity="0" tại <Grid x:Name="Root" Opacity="0">

remove nhóm trạng thái hình ảnh này từ phong cách của bạn

<VisualStateGroup x:Name="RevealStates"> 
    <VisualStateGroup.Transitions> 
     <VisualTransition GeneratedDuration="0:0:0.5" /> 
    </VisualStateGroup.Transitions> 
    <VisualState x:Name="Shown"> 
     <Storyboard> 
      <DoubleAnimation Storyboard.TargetName="Root" Storyboard.TargetProperty="Opacity" To="1" Duration="0" /> 
     </Storyboard> 
    </VisualState> 
    <VisualState x:Name="Hidden"> 
     <Storyboard> 
      <DoubleAnimation Storyboard.TargetName="Root" Storyboard.TargetProperty="Opacity" To="0" Duration="0" /> 
     </Storyboard> 
    </VisualState> 
</VisualStateGroup> 

EDIT

Đây là thay đổi phong cách.

<!-- charting:PieDataPoint --> 
<Style TargetType="charting:PieDataPoint"> 
    <Setter Property="Background" Value="Orange" /> 
    <Setter Property="BorderBrush" Value="White" /> 
    <Setter Property="BorderThickness" Value="1" /> 
    <Setter Property="IsTabStop" Value="False" /> 
    <Setter Property="RatioStringFormat" Value="{}{0:p2}" /> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="charting:PieDataPoint"> 
       <Grid x:Name="Root" Opacity="0"> 
        <VisualStateManager.VisualStateGroups> 
         <VisualStateGroup x:Name="CommonStates"> 
          <VisualStateGroup.Transitions> 
           <VisualTransition GeneratedDuration="0:0:0.1" /> 
          </VisualStateGroup.Transitions> 
          <VisualState x:Name="Normal" /> 
          <VisualState x:Name="MouseOver"> 
           <Storyboard> 
            <DoubleAnimation Storyboard.TargetName="MouseOverHighlight" Storyboard.TargetProperty="Opacity" To="0.6" Duration="0" /> 
           </Storyboard> 
          </VisualState> 
         </VisualStateGroup> 
         <VisualStateGroup x:Name="SelectionStates"> 
          <VisualStateGroup.Transitions> 
           <VisualTransition GeneratedDuration="0:0:0.1" /> 
          </VisualStateGroup.Transitions> 
          <VisualState x:Name="Unselected" /> 
          <VisualState x:Name="Selected"> 
           <Storyboard> 
            <DoubleAnimation Storyboard.TargetName="SelectionHighlight" Storyboard.TargetProperty="Opacity" To="0.6" Duration="0" /> 
           </Storyboard> 
          </VisualState> 
         </VisualStateGroup> 
        </VisualStateManager.VisualStateGroups> 
        <Path x:Name="Slice" Data="{TemplateBinding Geometry}" Fill="{TemplateBinding Background}" Stroke="{TemplateBinding BorderBrush}" StrokeMiterLimit="1"> 
         <ToolTipService.ToolTip> 
          <StackPanel> 
           <ContentControl Content="{TemplateBinding FormattedDependentValue}" /> 
           <ContentControl Content="{TemplateBinding FormattedRatio}" /> 
          </StackPanel> 
         </ToolTipService.ToolTip> 
        </Path> 
        <Path x:Name="SelectionHighlight" Data="{TemplateBinding GeometrySelection}" Fill="Red" StrokeMiterLimit="1" IsHitTestVisible="False" Opacity="0" /> 
        <Path x:Name="MouseOverHighlight" Data="{TemplateBinding GeometryHighlight}" Fill="White" StrokeMiterLimit="1" IsHitTestVisible="False" Opacity="0" /> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

Sau lần đầu tiên tôi xóa hoạt ảnh, tôi muốn từ bỏ, vì nó không hoạt động.

Nhưng sau đó tôi nhìn tôi với bộ phản xạ mã nguồn và đã tìm thấy cách nó vẫn hoạt động.

Thật không may là DataPointStyle không đủ, tôi nghĩ đó là lỗi.

<chartingToolkit:Chart Margin="8"> 

    <chartingToolkit:Chart.Series> 
    <chartingToolkit:BarSeries x:Name="barSeries" 
           Title="Experience" 
           DataPointStyle="{StaticResource myBarStyle}"> 
    </chartingToolkit:BarSeries> 
    </chartingToolkit:Chart.Series> 

</chartingToolkit:Chart> 

Trong hàm tạo điều khiển nơi biểu đồ được bao gồm chỉ cần thực hiện như sau.

this.barSeries.RefreshStyles(); 

hy vọng điều này sẽ giúp

Các vấn đề liên quan