如何在c#中使用WPF绑定Xaml中的动态值

时间:2017-04-04 14:37:59

标签: c# wpf xaml

我在WPF中用两个窗口创建了应用程序。在一个窗口中,我使用了一个文本框并提交了按钮。从第一个窗口提交后,我隐藏第一个窗口并显示第二个窗口。我使用第一个窗口文本值取一些值,需要在第二个窗口Xaml中绑定。实际上,值可以在html(mvc)中使用foreach绑定,但需要绑定Xaml以在第二个窗口中显示。请提出一些建议。

1 个答案:

答案 0 :(得分:0)

请找到以下答案,它肯定会有效

Xaml:

<ItemsControl Name="icTodoList">
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <Grid Margin="200,50,0,30">
                                    <TextBlock>
                                       <Hyperlink TextDecorations="None" NavigateUri="{Binding UriPath}" RequestNavigate="Hyperlink_RequestNavigate"
                                                  CommandParameter="{Binding ElementName=myImg}">
                                                        <Image HorizontalAlignment="Left" Width="80" Height="80"  x:Name="myImg" Source="{Binding Source}" Margin="5"/>
                                       </Hyperlink>
                                    </TextBlock>

                                    <TextBlock TextAlignment="Left" Margin="200,30,0,0">
                                            <TextBlock FontSize="22px" Text="{Binding Title}" Foreground="white"></TextBlock>
                                    </TextBlock>
                                </Grid>
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ItemsControl>

用于绑定值的C#代码,

 public class DMScreen3 {
    public List<string> AllFiles { get; set; }
              List<BindingFilesContent> items = new List<BindingFilesContent>();
                    if(AllFiles != null)
                    {
                        foreach(var r in AllFiles)
                        {
                            if ((r.ToLower().Contains(".avi") || r.ToLower().Contains(".mp4")) && fileTypes == "video")
                            {
                                items.Add(new BindingFilesContent() { Title = Path.GetFileName(r), UriPath = r, Source = "/images/videoicon.png" });
                            }
        icTodoList.ItemsSource = items;
                  }
        }
}
  public class BindingFilesContent
    {
        public string Title { get; set; }
        public string Source { get; set; }
        public string UriPath { get; set; }
    }