0
我正在尝试编写一个广告控件以实现所有应用程序的页面。 这个用户控件只包含一个“layoutRoot”网格和一个“AdMob”网格,起初我想隐藏并且只在“time_show_banner”时间之后显示。我尝试绑定这个变量,但它只在标题处返回错误。KeyFrame对象的KeyTime属性必须设置为非负的TimeSpan值
在C#代码:
public string time_show_banner { get; set; }
我的用户控件:
<Grid x:Name="LayoutRoot" Background="Black" Height="60">
<Grid x:Name="AdMob" RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<CompositeTransform TranslateY="70"/>
</Grid.RenderTransform>
</Grid>
<Grid.Triggers>
<EventTrigger RoutedEvent="Grid.Loaded">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="AdMob">
<DiscreteObjectKeyFrame Value="0"
KeyTime="{Binding time_show_banner ,Converter={StaticResource ConvertKeyTime}}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Grid.Triggers>
</Grid>
的转换:
public class ConvertKeyTime : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string d = value.ToString();
string a = "0:0:" + d;
return a;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
请添加您从转换器返回的值 – ShayD 2014-10-30 08:28:32