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

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

3
ViewModelLocator คืออะไรและข้อดี / ข้อเสียเมื่อเทียบกับ DataTemplates คืออะไร?
ใครช่วยสรุปให้หน่อยได้ไหมว่า ViewModelLocator คืออะไรทำงานอย่างไรและข้อดี / ข้อเสียสำหรับการใช้งานเปรียบเทียบกับ DataTemplates ฉันได้ลองค้นหาข้อมูลใน Google แล้ว แต่ดูเหมือนว่าจะมีการใช้งานที่แตกต่างกันมากมายและไม่มีรายการที่โดดเด่นว่ามันคืออะไรและข้อดี / ข้อเสียของการใช้งาน



6
เข้าถึง DataContext หลักจาก DataTemplate
ฉันมีสิ่งListBoxที่เชื่อมโยงกับคอลเลกชันลูกบน ViewModel รายการในกล่องรายการมีสไตล์ในแผ่นข้อมูลตามคุณสมบัติบน ViewModel พาเรนต์: <Style x:Key="curveSpeedNonConstantParameterCell"> <Style.Triggers> <DataTrigger Binding="{Binding Path=DataContext.CurveSpeedMustBeSpecified, ElementName=someParentElementWithReferenceToRootDataContext}" Value="True"> <Setter Property="Control.Visibility" Value="Hidden"></Setter> </DataTrigger> </Style.Triggers> </Style> ฉันได้รับข้อผิดพลาดผลลัพธ์ต่อไปนี้: System.Windows.Data Error: 39 : BindingExpression path error: 'CurveSpeedMustBeSpecified' property not found on 'object' ''BindingListCollectionView' (HashCode=20467555)'. BindingExpression:Path=DataContext.CurveSpeedMustBeSpecified; DataItem='Grid' (Name='nonConstantCurveParametersGrid'); target element is 'TextBox' (Name=''); target property is 'NoTarget' (type 'Object') ดังนั้นหากฉันเปลี่ยนนิพจน์การผูกให้"Path=DataContext.CurrentItem.CurveSpeedMustBeSpecified"มันใช้งานได้ …

11
MVVM ใน WPF - จะแจ้งเตือน ViewModel ของการเปลี่ยนแปลงใน Model อย่างไร…หรือฉันควร?
ฉันกำลังจะผ่านบทความ MVVM บางส่วนใหญ่นี้และนี้ คำถามเฉพาะของฉันคือ: ฉันจะสื่อสารการเปลี่ยนแปลงโมเดลจากโมเดลเป็น ViewModel ได้อย่างไร ในบทความของ Josh ฉันไม่เห็นว่าเขาทำเช่นนี้ ViewModel จะถาม Model สำหรับคุณสมบัติเสมอ ในตัวอย่างของ Rachel เธอมีการนำแบบจำลองมาใช้INotifyPropertyChangedและหยิบยกเหตุการณ์ขึ้นจากแบบจำลอง แต่มีไว้เพื่อการบริโภคโดยการดูเอง (ดูบทความ / รหัสของเธอสำหรับรายละเอียดเพิ่มเติมว่าเหตุใดเธอจึงทำเช่นนี้) ฉันไม่เห็นตัวอย่างที่โมเดลแจ้งให้ ViewModel ทราบถึงการเปลี่ยนแปลงคุณสมบัติของโมเดล สิ่งนี้ทำให้ฉันกังวลว่าอาจจะไม่ได้ทำด้วยเหตุผลบางประการ มีรูปแบบสำหรับการแจ้งเตือน ViewModel ของการเปลี่ยนแปลงใน Model หรือไม่? ดูเหมือนว่าจะมีความจำเป็นเนื่องจาก (1) มี ViewModel มากกว่า 1 แบบสำหรับแต่ละรุ่นและ (2) แม้ว่าจะมี ViewModel เพียงตัวเดียวการกระทำบางอย่างในโมเดลอาจส่งผลให้คุณสมบัติอื่น ๆ เปลี่ยนไป ฉันสงสัยว่าอาจมีคำตอบ / ความคิดเห็นในรูปแบบ "ทำไมคุณถึงต้องการทำเช่นนั้น" ความคิดเห็นดังนั้นนี่คือคำอธิบายโปรแกรมของฉัน ฉันยังใหม่กับ MVVM …
112 c#  .net  wpf  mvvm 


9
ทำให้หน้าต่าง WPF ลากได้ไม่ว่าจะคลิกองค์ประกอบใดก็ตาม
คำถามของฉันคือ 2 เท่าและฉันหวังว่าจะมีวิธีแก้ปัญหาที่ง่ายกว่าสำหรับทั้งสองอย่างที่จัดทำโดยWPFแทนที่จะเป็นโซลูชันมาตรฐานจาก WinForms (ซึ่ง Christophe Geers ให้ไว้ก่อนที่ฉันจะชี้แจงนี้) ก่อนอื่นมีวิธีทำให้ Window ลากได้โดยไม่ต้องจับและประมวลผลเหตุการณ์คลิกเมาส์ + ลากหรือไม่? ฉันหมายถึงหน้าต่างสามารถลากได้โดยแถบชื่อเรื่อง แต่ถ้าฉันตั้งค่าหน้าต่างไม่ให้มีและยังคงต้องการให้ลากได้มีวิธีที่จะกำหนดทิศทางเหตุการณ์ใหม่ไปยังสิ่งที่จัดการกับการลากแถบหัวเรื่องหรือไม่ เหรอ? ประการที่สองมีวิธีใช้ตัวจัดการเหตุการณ์กับองค์ประกอบทั้งหมดในหน้าต่างหรือไม่? เช่นเดียวกับทำให้หน้าต่างลากได้ไม่ว่าผู้ใช้จะคลิก + ลากองค์ประกอบใด เห็นได้ชัดว่าไม่ต้องเพิ่มตัวจัดการด้วยตนเองในทุกองค์ประกอบ แค่ทำครั้งเดียว?


8
วิธีตั้งศูนย์กลางแอป WPF บนหน้าจอ
ฉันต้องการตั้งศูนย์กลางแอป WPF ของฉันเมื่อเริ่มต้นบนหน้าจอหลัก ฉันรู้ว่าฉันต้องตั้งค่า myWindow.Left และ myWindow.Top แต่ฉันจะรับค่าได้จากที่ไหน ฉันพบSystem.Windows.Forms.Screen.PrimaryScreenซึ่งเห็นได้ชัดว่าไม่ใช่ WPF มีทางเลือก WPF ที่ให้ความละเอียดหน้าจอหรืออะไรทำนองนั้น?

12
ผูกกล่องข้อความเมื่อกดปุ่ม Enter
การเชื่อมโยงฐานข้อมูลเริ่มต้นTextBoxคือTwoWayและส่งข้อความไปยังคุณสมบัติเฉพาะเมื่อTextBoxสูญเสียโฟกัส มีวิธี XAML ง่าย ๆ ในการทำให้การเชื่อมต่อฐานข้อมูลเกิดขึ้นเมื่อฉันกดEnterปุ่มบนTextBox? ฉันรู้ว่ามันค่อนข้างง่ายที่จะทำในโค้ดข้างหลัง แต่ลองนึกดูว่าTextBoxมันซับซ้อนDataTemplateไหม
109 c#  wpf  xaml  .net-3.5  textbox 

4
ค้นหาจุดจับสำหรับหน้าต่าง WPF
แบบฟอร์ม Windows มีคุณสมบัติ win1 จัดการซึ่งถ้าฉันจำได้จะส่งคืนหมายเลขอ้างอิงของหมายเลขอ้างอิงหน้าต่างหลักหรือไม่ มีวิธีที่เทียบเท่ากันในการรับหมายเลขอ้างอิงของ WPF Window หรือไม่? ฉันพบรหัสต่อไปนี้ทางออนไลน์ IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle; แต่ฉันไม่คิดว่าจะช่วยฉันได้เพราะแอปพลิเคชันของฉันมีหลายหน้าต่าง ขอบคุณ !!
109 wpf  window  handle 

23
จะแสดงข้อความเริ่มต้น“ - เลือกทีม -” ในกล่องคำสั่งผสมบน pageload ใน WPF ได้อย่างไร?
ในแอป WPF ในแอป MVP ฉันมีกล่องคำสั่งผสมซึ่งฉันแสดงข้อมูลที่ดึงมาจากฐานข้อมูล ก่อนรายการที่เพิ่มลงในกล่องคำสั่งผสมฉันต้องการแสดงข้อความเริ่มต้นเช่น "- เลือกทีม -" เพื่อให้บน pageload แสดงขึ้นและเมื่อเลือกข้อความนั้นควรล้างข้อความและควรแสดงรายการ การเลือกข้อมูลจาก DB กำลังเกิดขึ้น ฉันต้องการแสดงข้อความเริ่มต้นจนกว่าผู้ใช้จะเลือกรายการจากกล่องคำสั่งผสม ช่วยชี้แนะด้วยครับ
109 wpf  combobox 

6
ปุ่ม WPF พร้อมรูปภาพ
ฉันพยายามแนบรูปภาพบนปุ่มใน WPF แต่รหัสนี้ล้มเหลว ดูเหมือนจะแปลกหลังจากรหัสที่คล้ายกันจะทำงานได้อย่างสมบูรณ์ใน Mozilla XUL <Button Height="49.086" Margin="3.636,12,231.795,0" Name="button2" VerticalAlignment="Top" Grid.Column="1" Click="button2_Click" Source="Pictures/apple.jpg">Disconnect from Server</Button>
109 wpf 

4
ฉันจะซ่อนตัวเลือกแถวข้อมูล wpf ได้อย่างไร
ฉันใช้การควบคุม WPF DataGrid เพื่อแสดงรายละเอียดและปุ่มเลือกและฉันไม่ต้องการคอลัมน์ตัวเลือกสีเทาทางด้านซ้ายมือ มันทำลายความสวยงามของการออกแบบของฉันด้วย มีวิธีเอาออกไหมหรือจะจัดสไตล์ให้เข้ากันได้อย่างไรถ้าไม่
108 wpf  wpfdatagrid 

10
วิธีเพิ่ม System.Windows.Interactivity ในโครงการ?
System.Windows.Interactivityโครงการของฉันหายไป Google บอกว่าฉันต้องติดตั้ง Expression Blend แต่ในคอมพิวเตอร์เครื่องอื่นฉันมีไลบรารีนี้และไม่ได้ติดตั้ง Expression Blend จึงควรมีวิธีอื่นในการขอรับSystem.Windows.Interactivity? ฉันควรทำอย่างไรดี? (ตอนนี้ฉันไม่มีคอมพิวเตอร์เครื่องอื่นเลยไม่สามารถคัดลอกไลบรารีนี้ได้ :)
108 c#  wpf 

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