คำถามติดแท็ก wpf

Windows Presentation Foundation หรือ WPF เป็นระบบย่อยสำหรับการแสดงผลส่วนต่อประสานกับผู้ใช้ในแอพพลิเคชั่นที่ทำงานบน Windows


10
วิธีปรับขนาดอัตโนมัติและจัดแนวข้อมูล GridViewColumn ใน WPF โดยอัตโนมัติ
ฉันสามารถ: จัดข้อความให้ชิดขวาในคอลัมน์ ID ทำให้แต่ละคอลัมน์มีขนาดอัตโนมัติตามความยาวข้อความของเซลล์ด้วยข้อมูลที่มองเห็นได้นานที่สุด? นี่คือรหัส: <ListView Name="lstCustomers" ItemsSource="{Binding Path=Collection}"> <ListView.View> <GridView> <GridViewColumn Header="ID" DisplayMemberBinding="{Binding Id}" Width="40"/> <GridViewColumn Header="First Name" DisplayMemberBinding="{Binding FirstName}" Width="100" /> <GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}"/> </GridView> </ListView.View> </ListView> คำตอบบางส่วน: ขอบคุณ Kjetil GridViewColumn.CellTemplate ทำงานได้ดีและความกว้างอัตโนมัติทำงานได้แน่นอน แต่เมื่อ "Collection" ของ ObservativeCollection ได้รับการอัปเดตด้วยข้อมูลที่มีความยาวมากกว่าคอลัมน์ขนาดคอลัมน์จะไม่อัปเดตตัวเองดังนั้นจึงเป็นเพียงวิธีแก้ปัญหาสำหรับ การแสดงข้อมูลเบื้องต้น: <ListView Name="lstCustomers" ItemsSource="{Binding Path=Collection}"> <ListView.View> <GridView> <GridViewColumn Header="ID" …

4
ความแตกต่างระหว่างทรัพยากรและทรัพยากรแบบฝังในแอปพลิเคชัน C # คืออะไร
ฉันควรใช้อย่างใดอย่างหนึ่งเมื่อใด ฉันต้องการให้ไฟล์ทั้งหมดที่ฉันใช้ในแอพของฉัน (รูปภาพเสียงไฟล์ xml ฯลฯ ) อยู่ในไฟล์. exe ดังนั้นฉันจึงไม่ปรับใช้กับโฟลเดอร์และไฟล์มากมาย ขอบคุณสำหรับข้อมูล.

1
WPF ผูกกับตัวเอง
ฉันมี WPF Windowและมีที่ไหนสักแห่งListViewที่ฉันผูกList<string>กับ. ตอนนี้ที่ไหนสักแห่งในฉันListViewมีTextBoxและการตั้งค่าคุณสมบัติContent{Binding} แต่นี่คือชวเลข ฉันจะเขียนการผูกแบบเต็มเพื่อผูกเข้ากับตัวมันเองได้อย่างไร? {Binding Path=Self}ไม่ทำงานไม่ทำ{Binding Self}(โดยที่อันหลังเป็นทางลัดสำหรับอดีต)

2
โหมดการผูก WPF ต่างๆคืออะไร?
ฉันไม่เข้าใจโหมดการผูกข้อมูลต่างๆใน WPF เช่น: ทางเดียว สองทาง ครั้งหนึ่ง ฯลฯ ... แต่ละโหมดเหล่านี้หมายถึงอะไร? ควรใช้เมื่อใด
89 wpf  data-binding 

5
รับตำแหน่งสัมบูรณ์ขององค์ประกอบภายในหน้าต่างใน wpf
ฉันต้องการรับตำแหน่งที่แน่นอนขององค์ประกอบที่สัมพันธ์กับองค์ประกอบของหน้าต่าง / รูทเมื่อคลิกสองครั้ง ตำแหน่งสัมพัทธ์ขององค์ประกอบภายในเป็นพาเรนต์คือทั้งหมดที่ฉันสามารถทำได้และสิ่งที่ฉันพยายามจะไปคือจุดที่สัมพันธ์กับหน้าต่าง ฉันเคยเห็นวิธีแก้ไขจุดขององค์ประกอบบนหน้าจอ แต่ไม่ใช่ในหน้าต่าง

9
Application.DoEvents () ใน WPF อยู่ที่ไหน
ฉันมีโค้ดตัวอย่างต่อไปนี้ที่ซูมทุกครั้งที่กดปุ่ม: XAML: <Window x:Class="WpfApplication12.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Canvas x:Name="myCanvas"> <Canvas.LayoutTransform> <ScaleTransform x:Name="myScaleTransform" /> </Canvas.LayoutTransform> <Button Content="Button" Name="myButton" Canvas.Left="50" Canvas.Top="50" Click="myButton_Click" /> </Canvas> </Window> * .cs public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void myButton_Click(object sender, RoutedEventArgs e) { Console.WriteLine("scale {0}, location: {1}", …
89 c#  .net  wpf  xaml 

2
ข้อผิดพลาด WPF: ไม่พบการควบคุม FrameworkElement สำหรับองค์ประกอบเป้าหมาย
ฉันมีDataGridแถวที่มีรูปภาพ ภาพนี้เชื่อมโยงกับทริกเกอร์ไปยังสถานะหนึ่ง เมื่อสถานะเปลี่ยนฉันต้องการเปลี่ยนภาพ แม่แบบของตัวเองตั้งอยู่บนของHeaderStyle DataGridTemplateColumnเทมเพลตนี้มีการผูก วันที่มีผลผูกพันวันแรกจะแสดงวันที่เป็นวันและสถานะจะเปลี่ยนภาพด้วยทริกเกอร์ คุณสมบัติเหล่านี้ถูกตั้งค่าใน ViewModel คุณสมบัติ: public class HeaderItem { public string Day { get; set; } public ValidationStatus State { get; set; } } this.HeaderItems = new ObservableCollection<HeaderItem>(); for (int i = 1; i < 15; i++) { this.HeaderItems.Add(new HeaderItem() { Day = i.ToString(), State = …

9
การรวม OneWayToSource จากคุณสมบัติแบบอ่านอย่างเดียวใน XAML
Наэтотвопросестьответына Stack Overflow нарусском : Binding ActualHeight и ActualWidth контролавсвойство ViewModel ฉันพยายามเชื่อมโยงกับReadonlyคุณสมบัติด้วยOneWayToSourceas mode แต่ดูเหมือนว่าจะไม่สามารถทำได้ใน XAML: <controls:FlagThingy IsModified="{Binding FlagIsModified, ElementName=container, Mode=OneWayToSource}" /> ฉันเข้าใจ: ไม่สามารถตั้งค่าคุณสมบัติ 'FlagThingy.IsModified' เนื่องจากไม่มีตัวเข้าถึงชุดที่สามารถเข้าถึงได้ IsModifiedคืออ่านได้อย่างเดียวบนDependencyProperty FlagThingyฉันต้องการผูกค่านั้นกับFlagIsModifiedคุณสมบัติบนคอนเทนเนอร์ ต้องมีความชัดเจน: FlagThingy.IsModified --> container.FlagIsModified ------ READONLY ----- ----- READWRITE -------- เป็นไปได้ไหมโดยใช้ XAML อัปเดต:ฉันแก้ไขกรณีนี้โดยตั้งค่าการผูกบนคอนเทนเนอร์ไม่ใช่ในไฟล์FlagThingy. แต่ฉันยังอยากรู้ว่าเป็นไปได้ไหม

10
วิธีเพิ่มพฤติกรรมผสมผสานใน Style Setter
ฉันได้เสนอพฤติกรรมการผสมผสานสำหรับปุ่ม ฉันจะตั้งค่าให้เป็นปุ่มทั้งหมดในแอปได้อย่างไร <Button ...> <i:Interaction.Behaviors> <local:MyBehavior /> </i:Interaction.Behaviors> </Button> อย่างไรก็ตามเมื่อฉันลอง: <Style> <Setter Property="i:Interaction.Behaviors"> <Setter.Value> <local:MyBehavior /> </Setter.Value> </Setter> </Style> ฉันได้รับข้อผิดพลาด คุณสมบัติ "Behaviors" ไม่มีตัวตั้งค่าที่สามารถเข้าถึงได้

6
การผูก WPF กับ StringFormat ไม่ทำงานบน ToolTips
รหัสต่อไปนี้มีการผูกแบบง่ายซึ่งผูก Text ของ TextBlock ชื่อ MyTextBlock กับคุณสมบัติ Text และ ToolTip ของ TextBox โดยใช้สัญกรณ์การผูกเดียวกันทุกประการ: <StackPanel> <TextBlock x:Name="MyTextBlock">Foo Bar</TextBlock> <TextBox Text="{Binding ElementName=MyTextBlock, Path=Text, StringFormat='It is: \{0\}'}" ToolTip="{Binding ElementName=MyTextBlock, Path=Text, StringFormat='It is: \{0\}'}" /> </StackPanel> การรวมยังใช้คุณสมบัติ StringFormat ที่นำมาใช้กับ. NET 3.5 SP1ซึ่งทำงานได้ดีสำหรับคุณสมบัติข้อความข้างต้น แต่ดูเหมือนจะใช้งานไม่ได้สำหรับ ToolTip ผลลัพธ์ที่คาดไว้คือ "It is: Foo Bar" แต่เมื่อคุณวางเมาส์เหนือ TextBox ToolTip จะแสดงเฉพาะค่าการผูกไม่ใช่ค่าที่จัดรูปแบบสตริง ความคิดใด …
88 wpf  binding 

11
การผูกวัตถุที่กำหนดไว้ในรหัสหลัง
ฉันมีวัตถุบางอย่างที่สร้างอินสแตนซ์ในโค้ดข้างหลังตัวอย่างเช่น XAML เรียกว่า window.xaml และภายใน window.xaml.cs protected Dictionary<string, myClass> myDictionary; ฉันจะผูกออบเจ็กต์นี้เข้ากับมุมมองรายการโดยใช้เฉพาะมาร์กอัป XAML ได้อย่างไร อัปเดต: (นี่คือรหัสทดสอบที่ฉันมี): <Window x:Class="QuizBee.Host.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="{Binding windowname}" Height="300" Width="300" DataContext="{Binding RelativeSource={RelativeSource Self}}"> <Grid> </Grid> </Window> และใน codebehind public partial class Window1 : Window { public const string windowname = "ABCDEFG"; public Window1() { InitializeComponent(); } } …
87 c#  .net  wpf  binding 

15
WPF CommandParameter เป็น NULL ครั้งแรกที่เรียก CanExecute
ฉันพบปัญหาเกี่ยวกับ WPF และคำสั่งที่ผูกไว้กับปุ่มภายใน DataTemplate ของ ItemsControl สถานการณ์ค่อนข้างตรงไปตรงมา ItemsControl ถูกผูกไว้กับรายการของวัตถุและฉันต้องการที่จะสามารถลบแต่ละวัตถุในรายการได้โดยคลิกที่ปุ่ม ปุ่มเรียกใช้คำสั่งและคำสั่งจะดูแลการลบ CommandParameter ถูกผูกไว้กับ Object ที่ฉันต้องการลบ ด้วยวิธีนี้ฉันรู้ว่าผู้ใช้คลิกอะไร ผู้ใช้ควรจะลบอ็อบเจกต์ "ของตัวเอง" ได้เท่านั้นดังนั้นฉันจึงต้องทำการตรวจสอบบางอย่างในการเรียก "CanExecute" ของ Command เพื่อตรวจสอบว่าผู้ใช้มีสิทธิ์ที่ถูกต้อง ปัญหาคือพารามิเตอร์ที่ส่งไปยัง CanExecute เป็น NULL ในครั้งแรกที่เรียก - ดังนั้นฉันจึงไม่สามารถเรียกใช้ตรรกะเพื่อเปิด / ปิดคำสั่งได้ อย่างไรก็ตามหากฉันเปิดใช้งานทุกอย่างแล้วคลิกปุ่มเพื่อดำเนินการคำสั่ง CommandParameter จะถูกส่งผ่านอย่างถูกต้อง นั่นหมายความว่าการผูกกับ CommandParameter กำลังทำงาน XAML สำหรับ ItemsControl และ DataTemplate มีลักษณะดังนี้: <ItemsControl x:Name="commentsList" ItemsSource="{Binding Path=SharedDataItemPM.Comments}" Width="Auto" Height="Auto"> <ItemsControl.ItemTemplate> …

7
ค้นหาคุณสมบัติ Source ของ WebBrowser ใน WPF
ไม่มีใครรู้วิธีการหาฐานข้อมูลคุณสมบัติ. Source ของ WebBrowser ใน WPF (3.5SP1)? ฉันมี listview ที่ฉันต้องการมีเว็บเบราว์เซอร์ขนาดเล็กทางด้านซ้ายและเนื้อหาทางด้านขวาและเพื่อค้นหาแหล่งที่มาของเว็บเบราว์เซอร์แต่ละรายการด้วย URI ในแต่ละวัตถุที่เชื่อมโยงกับรายการ นี่คือสิ่งที่ฉันมีเป็นหลักฐานยืนยันถึงแนวคิด แต่ " <WebBrowser Source="{Binding Path=WebAddress}"" ไม่ได้รวบรวม <DataTemplate x:Key="dealerLocatorLayout" DataType="DealerLocatorAddress"> <StackPanel Orientation="Horizontal"> <!--Web Control Here--> <WebBrowser Source="{Binding Path=WebAddress}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" Width="300" Height="200" /> <StackPanel Orientation="Vertical"> <StackPanel Orientation="Horizontal"> <Label Content="{Binding Path=CompanyName}" FontWeight="Bold" Foreground="Blue" /> <TextBox Text="{Binding Path=DisplayName}" FontWeight="Bold" /> …
86 c#  wpf  xaml  data-binding  browser 

3
ฉันจะซ่อนส่วนหัวของ WPF ListView ได้อย่างไร
ฉันต้องการซ่อนส่วนหัวที่ด้านบนของแต่ละคอลัมน์กริดใน WPF ListView นี่คือ XAML สำหรับ ListView ของฉัน: <Window x:Class="ListViewTest.Test0.ListViewTest" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Empty ListView Grid" Height="216" Width="435" FlowDirection="LeftToRight" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.IsSharedSizeScope="False"> <Window.Resources> <XmlDataProvider x:Key="CustomersDS" Source="C:\data.xml"/> </Window.Resources> <ListView Margin="0,0,0,50" ItemTemplate="{DynamicResource CustomerTemplate}" ItemsSource="{Binding Source={StaticResource CustomersDS}, XPath=/Customers/Customer}"> <ListView.View> <GridView> <GridViewColumn DisplayMemberBinding="{Binding XPath=Code}"/> <GridViewColumn DisplayMemberBinding="{Binding XPath=Name}"/> <GridViewColumn DisplayMemberBinding="{Binding XPath=Country}"/> </GridView> </ListView.View> </ListView> </Window> ข้อมูลที่ฉันผูกไว้คือ: …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.