2

私は Windows 8 の最新の UI アプリにかなり慣れていないので、タイル画像 (GridView 内のアプリ内にある画像) を反転する方法を知りたいと思います。

リストの形式で Web サービスからイメージ パスを受け取り、そのイメージのリストを使用して、アプリ内でデータ バインドされたアイテムの背景を反転させたいと考えています。

ネットで調べてもわからなかったのでこちらで質問させていただきました。どこから始めればよいかご存知でしたら教えてください。

ありがとう!

4

1 に答える 1

0

写真のリストを受け入れるユーザーコントロールを使用できます。また、ユーザー コントロールで DispatcherTimer を使用して、X 秒ごとに画像を切り替え/変更します。

サンプル :

     public sealed partial class CustomFlip
    {
        #region Properties

        private readonly TimeSpan _delay = new TimeSpan(0, 0, 1);
        private readonly DispatcherTimer _dt;

        #endregion Properties

        #region Control Properties

        public IList<Uri> Pictures
        {
            get { return (IList<Uri>)GetValue(PicturesProperty); }
            set { SetValue(PicturesProperty, value); }
        }

        public static readonly DependencyProperty PicturesProperty
            = DependencyProperty.Register("Pictures", typeof(IList<Uri>), typeof(CustomFlip), null);

        #endregion Control Properties

        public CustomFlip()
        {
            InitializeComponent();
            Loaded += CLoaded;
            _dt = new DispatcherTimer { Interval = _delay };
            _dt.Tick += Refresh;

            Unloaded += CUnloaded;
        }

        private void CLoaded(object sender, RoutedEventArgs e)
        {
            _dt.Start();
        }

        private void CUnloaded(object sender, RoutedEventArgs e)
        {
            _dt.Stop();
        }

        private void Refresh(object sender, object e)
        {
            //Image name in your xaml.
            foo.Source = //Random Uri from Pictures.
//Sample this.MyImage.Source = new BitmapImage(new Uri("/MyNameSpace;images/someimage.png", UriKind.Relative));
        }

        #region Methods

        public void StopRefresh()
        {
            _dt.Stop();
        }

        public void ReStartRefresh()
        {
            if (_dt == null)
                return;

            _dt.Start();
        }

        #endregion Methods
    }

そしてあなたは xaml :

<UserControl
    x:Name="root"
    x:Class="Foo"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300"
    d:DesignWidth="400">
        <Grid>
        <Image x:Name="Image"/>
        </Grid>

</UserControl>

よろしく。

add xaml サンプルを編集します。

xmlns:flip="using:Project.CustomControls.CustomFlip" <!--FlipLocation-->
<flip:ControlName Pictures={Binding YourList}/> <!--Hw to use it-->
于 2012-11-21T07:28:58.277 に答える