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

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

8
ตัวเลือกสำหรับการฝัง Chromium แทนการควบคุมเว็บเบราเซอร์ IE ด้วย WPF / C #
Internet Explorer ตาม WPF เว็บเบราเซอร์ทนทุกข์ทรมานจากบางส่วนควบคุมแป้นพิมพ์และมุ่งเน้นประเด็นและปัญหาหน่วยความจำรั่ว เพื่อเป็นทางเลือกในการแก้ไขปัญหาเหล่านี้เรากำลังพิจารณาตัวเลือกที่พร้อมใช้งานสำหรับการโฮสต์ Chromium แทนการควบคุมเว็บเบราเซอร์ในโครงการ WPF / C # ของเราโดยยึดตามการแก้ไข HTML มีการถามคำถามที่คล้ายกันที่นี่มาก่อน ฉันได้อ่านคำตอบและทำวิจัยของฉันเองแล้วแต่ฉันหวังว่าจะได้รับคำติชมเพิ่มเติมจากผู้ที่ใช้ตัวเลือกต่อไปนี้ในโครงการคุณภาพการผลิต : AwesomiumและAwesomium.NET มันดูเหมาะสมมาก แต่ฉันไม่ชอบความจริงที่ว่าโครงการไม่ใช่โอเพ่นซอร์สและไม่สามารถใช้งานซอร์สเต็มได้อย่างง่ายดาย นอกจากนี้อาจเป็นเรื่อง overkill สำหรับโครงการของเราเนื่องจากการแสดงผลนอกหน้าจอไม่ใช่สิ่งที่เราต้องพึ่งพาจริงๆ Chromium Embedded Framework (CEF)และ. NET ผูกสำหรับ CEF นี่อาจเป็นตัวเลือกที่ดีที่สุดในขณะนี้ โปรเจ็กต์ดูเหมือนจะมีชีวิตชีวาและแอ็คทีฟขณะนี้กำลังซิงค์กับ Chrome v27 CEF3 ใช้สถาปัตยกรรมแบบหลายกระบวนการของ Chrome นอกจากนี้ยังมีลักษณะเช่น Adobe จะให้มันรับรองบาง Chrome Frame ของ Google ในขณะที่จุดประสงค์ดั้งเดิมของมันคือการเป็นปลั๊กอิน HTML5 สำหรับ IE และ Firefox …

5
การส่งสองพารามิเตอร์คำสั่งโดยใช้การเชื่อม WPF
ฉันมีคำสั่งที่ฉันเรียกใช้งานจากไฟล์ XAML ของฉันโดยใช้ไวยากรณ์มาตรฐานต่อไปนี้: <Button Content="Zoom" Command="{Binding MyViewModel.ZoomCommand}"/> สิ่งนี้ใช้ได้ดีจนกระทั่งฉันรู้ว่าฉันต้องการข้อมูลสองชิ้นจากมุมมองเพื่อทำให้การดำเนินการเสร็จสมบูรณ์ตามที่ผู้ใช้คาดหวัง (ความกว้างและความสูงของผืนผ้าใบพิเศษ) ดูเหมือนว่าเป็นไปได้ที่จะส่งอาเรย์เป็นอาร์กิวเมนต์ไปยังคำสั่งของฉัน แต่ฉันไม่เห็นว่ามีวิธีการระบุการโยงกับคุณสมบัติ Canvas ทั้งสองของฉันใน CommandParameter: <Button Content="Zoom" Command="{Binding MyViewModel.ZoomCommand" CommandParameter="{Binding ElementName=MyCanvas, Path=Width}"/> ฉันจะส่งทั้งความกว้างและความสูงไปยังคำสั่งของฉันได้อย่างไร ดูเหมือนว่ามันจะเป็นไปไม่ได้หากใช้คำสั่งจาก XAML และฉันต้องวางสายจัดการตัวคลิกในโค้ดของฉันเพื่อรับข้อมูลนี้เพื่อส่งต่อไปยังวิธีการซูมของฉัน
155 wpf  binding  path  command 

11
WPF Blurry fonts ปัญหา - วิธีแก้ไข
อธิบายปัญหาและแสดงให้เห็นในลิงค์ต่อไปนี้: Paul Stovell WPF: การแสดงข้อความเบลอ ฟอรัม www.gamedev.net Microsoft Connect: ตัวแสดงข้อความ WPF สร้างข้อความที่ไม่ชัดเจนในขนาดตัวอักษรขนาดเล็ก คำอธิบาย: ข้อความชัดเจนใน WPF ลิงค์นี้มีการเปรียบเทียบแบบอักษร ฉันต้องการรวบรวมวิธีแก้ไขที่เป็นไปได้ทั้งหมดสำหรับปัญหานี้ Microsoft Expression Blend ใช้ WPF แต่แบบอักษรดูอ่านได้ พื้นหลังสีเข้มใน Microsoft Expression Blend การเพิ่มขนาดตัวอักษรและการเปลี่ยนแบบอักษร (Calibri ... ) [link] แบบฟอร์มฝังหน้าต่าง[ลิงค์] ใช้คลาส GDI + และ / หรือ Windows Forms TextRenderer เพื่อแสดงข้อความเป็นบิตแมปแล้วเรนเดอร์บิตแมปนั้นเป็นตัวควบคุม WPF [ลิงค์] มีวิธีแก้ปัญหาเพิ่มเติมอีกไหม? สิ่งนี้จะได้รับการแก้ไขใน VS2010 (และ WPF4) …
153 wpf  fonts 

11
วิธีการใช้หลายสไตล์ใน WPF
ใน WPF ฉันจะใช้หลายสไตล์กับ a ได้FrameworkElementอย่างไร? ตัวอย่างเช่นฉันมีตัวควบคุมที่มีสไตล์อยู่แล้ว ฉันยังมีสไตล์ที่แยกต่างหากซึ่งฉันต้องการจะเพิ่มเข้าไปโดยไม่ทำให้สไตล์แรกหายไป สไตล์นั้นมี TargetTypes ที่แตกต่างกันดังนั้นฉันจึงไม่สามารถขยายมันด้วยสไตล์อื่นได้
153 .net  wpf  styles 

2
มีอะไรพิเศษเกี่ยวกับ Generic.xaml บ้าง?
ฉันพยายามหาวิธีจัดระเบียบไฟล์ ResourceDictionary ของฉันเพื่อนำมาใช้ซ้ำและแบ่งปันกับสมาชิกคนอื่น ๆ ในทีมของฉัน ฉันเจอ "Generic.xaml" อยู่เรื่อย ๆ แต่ถ้าฉันดู MSDN สำหรับ Generic.xaml หรือทำการค้นหาโดย Google ฉันดูเหมือนจะได้รับโพสต์บล็อกและคำถามในฟอรัมที่พูดถึง - ฉันไม่สามารถดูเหมือน ตีสิ่งที่มีอำนาจและชัดเจนจริงๆ Generic.xaml และ MyRandomlyNamedResourceDictionary คืออะไรแตกต่างกันอย่างไร ดูเหมือนว่าทั้งสองวิธีฉันต้องอ้างอิง ResourceDictionaries ที่เก็บไว้ในไลบรารีด้วยแอตทริบิวต์ซอร์ส เช่น,: <Application.Resources> <ResourceDictionary Source="/CommonLibraryWpfThemes;component/Themes/Generic.xaml" </Application.Resources> ดังนั้น Generic.xaml มีประโยชน์อย่างไรบ้าง? มีวัตถุประสงค์หรือไม่ถ้าฉันไม่พยายามให้แอปพลิเคชันของฉัน "ดู" หลายอย่าง (เช่นถ้าฉันมีเพียงธีมเดียว)?
153 wpf  xaml  themes 

6
วิธีการตรวจหาสถานะตัวดัดแปลงสำคัญใน WPF?
มีการสร้างทั่วโลกที่ฉันสามารถใช้เมื่อใดก็ตามที่ฉันต้องการเข้าถึงไม่ว่าจะเป็นปุ่มควบคุม, Shift, Alt หรือไม่ ยกตัวอย่างเช่นภายในกรณีที่มีการMouseDownTreeView ถ้าเป็นเช่นนั้นได้อย่างไร
151 c#  .net  wpf  keyboard 

4
ฉันจะเปิด Windows Explorer ไปยังไดเรกทอรีที่ต้องการจากภายในแอพ WPF ได้อย่างไร
ในแอปพลิเคชั่น WPF เมื่อผู้ใช้คลิกที่ปุ่มฉันต้องการเปิด Windows explorer ไปยังไดเรกทอรีหนึ่งฉันจะทำอย่างไร ฉันคาดหวังอะไรแบบนี้: Windows.OpenExplorer("c:\test");
150 c#  wpf  windows-explorer 

7
WPF: การตั้งค่าความกว้าง (และความสูง) เป็นค่าร้อยละ
สมมติว่าฉันต้องการTextBlockให้มันมีWidthค่าเท่ากับพาเรนต์คอนเทนเนอร์Width(เช่นยืดจากด้านข้าง) หรือเปอร์เซ็นต์ของพาเรนต์คอนเทนเนอร์Widthฉันจะทำสิ่งนี้ให้สำเร็จได้อย่างไรXAMLโดยไม่ระบุค่าสัมบูรณ์ ฉันต้องการทำสิ่งนี้เพื่อที่ว่าถ้าคอนเทนเนอร์พาเรนต์คอนเทนเนอร์ขยายตัวในภายหลัง ( Widthเพิ่มขึ้น'มัน)' องค์ประกอบย่อยจะถูกขยายโดยอัตโนมัติ (โดยทั่วไปเหมือนกับใน HTML และ CSS)
149 wpf  xaml  resize 

9
จัดเรียงรายการในแผงสแต็ค?
ฉันสงสัยว่าฉันสามารถมีตัวควบคุม 2 ตัวใน StackPanel ในแนวนอนหรือไม่เพื่อให้รายการที่เหมาะสมเชื่อมต่อไปทางด้านขวาของ StackPanel ฉันลองสิ่งต่อไปนี้ แต่มันไม่ทำงาน: <StackPanel Orientation="Horizontal"> <TextBlock>Left</TextBlock> <Button Width="30" HorizontalAlignment="Right">Right<Button> </StackPanel> ในตัวอย่างด้านบนฉันต้องการให้ปุ่มเชื่อมต่อไปทางด้านขวาของ StackPanel หมายเหตุ: ฉันต้องการให้ใช้ StackPanel ไม่ใช่ Grid เป็นต้น

3
ดีหรือไม่ดีสำหรับ Dialogs ใน wpf ด้วย MVVM?
เมื่อเร็ว ๆ นี้ฉันมีปัญหาในการสร้างกล่องโต้ตอบเพิ่มและแก้ไขสำหรับแอป wpf ของฉัน สิ่งที่ฉันต้องการทำในรหัสของฉันคือสิ่งนี้ (ส่วนใหญ่ฉันใช้วิธีแรกใน viewmodel กับ mvvm) ViewModel ซึ่งเรียกหน้าต่างโต้ตอบ: var result = this.uiDialogService.ShowDialog("Dialogwindow Title", dialogwindowVM); // Do anything with the dialog result มันทำงานยังไง? ก่อนอื่นฉันสร้างบริการโต้ตอบ: public interface IUIWindowDialogService { bool? ShowDialog(string title, object datacontext); } public class WpfUIWindowDialogService : IUIWindowDialogService { public bool? ShowDialog(string title, object datacontext) { …
148 c#  .net  wpf  mvvm  modal-dialog 

2
การสร้างงานที่กำหนดเวลาไว้
ฉันกำลังทำงานกับโครงการ C # WPF ฉันต้องอนุญาตให้ผู้ใช้สร้างและเพิ่มงานที่กำหนดเวลาไว้ใน Windows Task Scheduler ฉันจะทำสิ่งนี้ได้อย่างไรและฉันต้องการอะไรโดยใช้คำสั่งและการอ้างอิงเนื่องจากฉันไม่พบอะไรมากเมื่อค้นหาในอินเทอร์เน็ต
148 c#  wpf  scheduled-tasks 

4
เป็นไปได้ไหมที่จะตั้งรหัสหลังพจนานุกรมทรัพยากรใน WPF สำหรับจัดการเหตุการณ์?
เป็นไปได้ไหมที่จะตั้งรหัสหลังพจนานุกรมทรัพยากรใน WPF ตัวอย่างเช่นใน usercontrol สำหรับปุ่มที่คุณประกาศใน XAML รหัสการจัดการเหตุการณ์สำหรับการคลิกปุ่มเสร็จสิ้นในไฟล์โค้ดด้านหลังตัวควบคุม ถ้าฉันจะสร้างเทมเพลตข้อมูลด้วยปุ่มฉันจะเขียนโค้ดตัวจัดการเหตุการณ์สำหรับการคลิกปุ่มภายในพจนานุกรมทรัพยากรได้อย่างไร
147 wpf 

9
มีวิธีการตรวจสอบว่า WPF กำลังทำงานในโหมดการออกแบบหรือไม่?
มีใครรู้บ้างเกี่ยวกับตัวแปรสถานะโกลบอลบางตัวที่มีอยู่เพื่อให้ฉันสามารถตรวจสอบว่ารหัสกำลังทำงานอยู่ในโหมดการออกแบบ (เช่นใน Blend หรือ Visual Studio) หรือไม่? มันจะมีลักษณะเช่นนี้: //pseudo code: if (Application.Current.ExecutingStatus == ExecutingStatus.DesignMode) { ... } เหตุผลที่ฉันต้องการ: เมื่อแอปพลิเคชันของฉันถูกแสดงในโหมดการออกแบบใน Expression Blend ฉันต้องการให้ ViewModel ใช้ "Design Customer class" แทนซึ่งมีข้อมูลจำลองอยู่ในนั้นซึ่งนักออกแบบสามารถดูในโหมดการออกแบบ อย่างไรก็ตามเมื่อแอปพลิเคชั่นกำลังดำเนินการจริง ๆ ฉันต้องการให้ ViewModel ใช้คลาสลูกค้าจริงซึ่งส่งคืนข้อมูลจริง ขณะนี้ฉันแก้ปัญหานี้โดยมีผู้ออกแบบก่อนที่เขาจะทำงานให้ไปที่ ViewModel และเปลี่ยน "ApplicationDevelopmentMode.Executing" เป็น "ApplicationDevelopmentMode.Designing": public CustomersViewModel() { _currentApplicationDevelopmentMode = ApplicationDevelopmentMode.Designing; } public ObservableCollection<Customer> GetAll { …
147 c#  wpf  expression-blend 

23
การเพิ่มข้อความตัวยึดตำแหน่งลงในกล่องข้อความ
ฉันกำลังมองหาวิธีเพิ่มข้อความตัวยึดตำแหน่งในกล่องข้อความอย่างที่คุณสามารถทำได้ด้วยกล่องข้อความใน html5 คือถ้ากล่องข้อความไม่มีข้อความก็จะเพิ่มข้อความEnter some text hereเมื่อผู้ใช้คลิกที่ข้อความตัวยึดจะหายไปและอนุญาตให้ผู้ใช้ป้อนข้อความของตัวเองและถ้ากล่องข้อความหมดโฟกัสและยังไม่มีข้อความตัวยึดตำแหน่งคือ เพิ่มกลับไปที่กล่องข้อความ
147 c#  wpf  placeholder 

12
การจัดการเหตุการณ์การปิดหน้าต่างด้วย WPF / MVVM Light Toolkit
ฉันต้องการจัดการ Closingกิจกรรม (เมื่อผู้ใช้คลิกปุ่ม 'X' ด้านขวาบน) ของหน้าต่างของฉันเพื่อแสดงข้อความยืนยันหรือ / และยกเลิกการปิดท้าย ฉันรู้วิธีการทำเช่นนี้ในโค้ด - เบื้องหลัง: สมัครสมาชิกกับClosingเหตุการณ์ของหน้าต่างจากนั้นใช้CancelEventArgs.Cancelคุณสมบัติ แต่ฉันใช้ MVVM ฉันไม่แน่ใจว่ามันเป็นแนวทางที่ดี ฉันคิดว่าวิธีการที่ดีคือการผูกClosingกิจกรรมไว้Commandใน ViewModel ของฉัน ฉันลองแล้ว: <i:Interaction.Triggers> <i:EventTrigger EventName="Closing"> <cmd:EventToCommand Command="{Binding CloseCommand}" /> </i:EventTrigger> </i:Interaction.Triggers> ด้วยการเชื่อมโยงRelayCommandใน ViewModel ของฉัน แต่มันไม่ทำงาน (รหัสของคำสั่งไม่ได้ถูกเรียกใช้)
145 c#  wpf  xaml  mvvm  mvvm-light 

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