UWP XAML ImageBrush.imageSource из сетевой папки

я отредактировал свой вопрос:

у меня есть панель стека с кнопками из массива. теперь я хочу установить фон кнопки из сетевых изображений.

вот мой исходный код:

XAML:

<Page
x:Class="App4.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App4"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Height="1205.722" Width="2045.722">

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Margin="0,0,0,0">
    <StackPanel x:Name="sp" HorizontalAlignment="Left" Height="1070" Margin="10,10,0,0" VerticalAlignment="Top" Width="145" Padding="0" CornerRadius="10" RequestedTheme="Light" ScrollViewer.HorizontalScrollBarVisibility="Visible" Grid.RowSpan="2">
        <FlyoutBase.AttachedFlyout>
            <MenuFlyout/>
        </FlyoutBase.AttachedFlyout>
    </StackPanel>
</Grid>

Behind Code:

private void onLoad()
    {


        for (int i = 0; i < imgNames.Length; ++i)
        {
            ImageBrush brush1 = new ImageBrush();
            brush1.ImageSource = new BitmapImage(new Uri("ms-appx:///assets/" + imgNames[i]));
            Button button = new Button()
            {
                Content = string.Format(""),
            Tag = i
            };
            button.Width = 100;
            button.Height = 100;
            button.Background = brush1;
            button.Margin = new Thickness(0, 20, 0, 0);


            button.Click += new RoutedEventHandler(button_Click);   

            this.sp.Children.Add(button);


        }
    }

Спасибо


person Community    schedule 23.11.2017    source источник
comment
Вы используете кисть изображения, а не изображение ?????   -  person Shubham Sahu    schedule 23.11.2017
comment
извините, я обновил свой вопрос   -  person    schedule 23.11.2017
comment
я создал для вас образец, который показывает, как изменить фон кнопки из сетевого расположения, я скоро поделюсь ссылкой .....   -  person Shubham Sahu    schedule 24.11.2017


Ответы (1)


Для загрузки изображения из сетевого источника вам необходимо использовать эти возможности в вашем приложении.

<Capabilities>
  <Capability Name="internetClient" />
  <Capability Name="privateNetworkClientServer" />
  <Capability Name="internetClientServer" />
  <uap:Capability Name="enterpriseAuthentication" />
</Capabilities>

и твой образ

<Image Name="YourImageElementName" />

и загрузка изображения в код позади

StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(@"\\Your Image Full Path e.g user\folder\subfolder");
StorageFile file = await folder.GetFileAsync("ImageName.jpg");
using (var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
{
    BitmapImage bitmap = new BitmapImage();
    bitmap.SetSource(stream);
    YourImageElementName.Source = bitmap;
}

Пример Github, который я создал для этого https://github.com/shubdragon/LoadNetworkImageRepo

Необходимо отметить

1) Вам необходимо указать свое сетевое местоположение в коде и имени изображения с требуемым расширением.

2) должен поделиться этим местоположением с домашней группой.

3) Обратите внимание на код на разных страницах и в Package.appxmanifes (просмотрите его как код в редакторе xml)

person Shubham Sahu    schedule 23.11.2017
comment
Спасибо, получил его! Ты лучший! - person ; 24.11.2017