0
我已經在兩個窗口中創建了WPF中的應用程序。在一個窗口中,我使用了一個文本框並提交按鈕。一旦從第一個窗口提交,我隱藏第一個窗口並顯示第二個窗口。我使用第一個窗口文本值取得了一些值,並需要在第二個窗口Xaml中進行綁定。實際上,這些值可以使用HTML(mvc)中的foreach綁定,但需要綁定Xaml以在第二個窗口中顯示。請提出一些建議。如何在C#中使用WPF在Xaml中綁定動態值#
我已經在兩個窗口中創建了WPF中的應用程序。在一個窗口中,我使用了一個文本框並提交按鈕。一旦從第一個窗口提交,我隱藏第一個窗口並顯示第二個窗口。我使用第一個窗口文本值取得了一些值,並需要在第二個窗口Xaml中進行綁定。實際上,這些值可以使用HTML(mvc)中的foreach綁定,但需要綁定Xaml以在第二個窗口中顯示。請提出一些建議。如何在C#中使用WPF在Xaml中綁定動態值#
請找到下面的答案,它肯定會工作
的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; }
}
Thanks..It works .. –
['ItemsControl'](HTTP ://www.wpf-tutorial.com/list-controls/itemscontrol/)是綁定到對象列表的標準方式。將ItemsSource設置爲您的對象列表,並創建一個DataTemplate來控制每個項目的可視元素。 –
沒問題,第一個窗口的數據應該已經在某些視圖模型中。在另一個窗口中使用該視圖模型。而已。 – Divisadero
不錯..謝謝@BradleyUffner .. –