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

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

11
“ ClickOnce ไม่รองรับระดับการดำเนินการตามคำขอ 'requireAdministrator'”
ดังนั้นฉันจึงเขียนแอปพลิเคชันที่ต้องการเข้าถึงรีจิสทรี ฉันไม่ได้แตะการตั้งค่าการสร้างใด ๆ เลยอยากให้สิ่งนั้นทำงานได้ก่อนที่ฉันจะเพิ่มการสัมผัสอื่น ๆ เช่นคำอธิบายหรือชื่อ ฉันได้รับข้อผิดพลาดที่จะไม่หายไปจากสีน้ำเงิน ClickOnce does not support the request execution level 'requireAdministrator'.ตอนนี้ฉันไม่ได้แตะ ClickOnce ในแอปพลิเคชันนี้ สิ่งที่ฉันทำคือรวมไฟล์รายการที่ขอสิทธิ์เหล่านี้ ปัญหาของฉันตอนนี้คือข้อผิดพลาดนี้จะไม่หายไปและฉันไม่สามารถรวบรวมโปรแกรมของฉันได้ มีคำแนะนำว่าต้องทำอย่างไร? (หมายเหตุด้านข้าง: ฉันกำลังจะเข้านอนดังนั้นฉันจะตรวจสอบในบ่ายวันพรุ่งนี้)

5
WPF UserControl สามารถสืบทอด WPF UserControl ได้อย่างไร
WPF UserControl ต่อไปนี้เรียกว่าDataTypeWholeNumberซึ่งใช้งานได้ ตอนนี้ฉันต้องการสร้าง UserControl ชื่อDataTypeDateTimeและDataTypeEmailเป็นต้น คุณสมบัติการพึ่งพาจำนวนมากจะถูกใช้ร่วมกันโดยการควบคุมเหล่านี้ทั้งหมดดังนั้นฉันจึงต้องการใส่วิธีการทั่วไปลงใน BaseDataTypeและให้ UserControl แต่ละตัวสืบทอดมาจากประเภทพื้นฐานนี้ แต่เมื่อฉันทำอย่างนั้นฉันจะได้รับข้อผิดพลาดชี้แจงบางส่วนอาจไม่ได้มีฐานเรียนที่แตกต่างกัน ดังนั้นฉันจะใช้การสืบทอดกับ UserControl ได้อย่างไรเพื่อให้ฟังก์ชันการทำงานที่แชร์ทั้งหมดอยู่ในคลาสพื้นฐาน using System.Windows; using System.Windows.Controls; namespace TestDependencyProperty827.DataTypes { public partial class DataTypeWholeNumber : BaseDataType { public DataTypeWholeNumber() { InitializeComponent(); DataContext = this; //defaults TheWidth = 200; } public string TheLabel { get { return (string)GetValue(TheLabelProperty); } set …
95 c#  wpf  xaml  user-controls 

2
เต็มหน้าจอในแอปพลิเคชัน WPF
ฉันกำลังพัฒนาแอปพลิเคชัน WPF ซึ่งจะแสดงแบบเต็มหน้าจอ นอกจากนี้แอปพลิเคชันควรทำงานบนแท็บเล็ตหลายมิติ ฉันต้องการให้แอปพลิเคชันของฉันทำงานแบบเต็มหน้าจอโดยไม่ขึ้นกับขนาด แนวทางปฏิบัติที่ดีที่สุดในการทำงานนี้ให้สำเร็จคืออะไร?
95 c#  wpf  xaml  fullscreen 

12
.NET WPF จำขนาดหน้าต่างระหว่างเซสชัน
โดยทั่วไปเมื่อผู้ใช้ปรับขนาดหน้าต่างแอปพลิเคชันของฉันฉันต้องการให้แอปพลิเคชันมีขนาดเท่ากันเมื่อเปิดแอปพลิเคชันอีกครั้ง ตอนแรกฉันจัดการเหตุการณ์ SizeChanged และบันทึกความสูงและความกว้าง แต่ฉันคิดว่าต้องมีวิธีแก้ปัญหาที่ง่ายกว่านี้ ปัญหาค่อนข้างง่าย แต่ฉันไม่สามารถหาวิธีแก้ปัญหาได้ง่ายๆ
94 c#  .net  wpf  windows 

3
วิธีจัดรูปแบบจำนวนตำแหน่งทศนิยมใน wpf โดยใช้ style / template
ฉันกำลังเขียนโปรแกรม WPF และฉันพยายามหาวิธีจัดรูปแบบข้อมูลในกล่องข้อความด้วยวิธีการที่ทำซ้ำได้เช่นสไตล์หรือเทมเพลต ฉันมีกล่องข้อความจำนวนมาก (95 เป็นค่าที่แน่นอน) และแต่ละอันจะเชื่อมโยงกับข้อมูลตัวเลขของตัวเองซึ่งแต่ละอันสามารถกำหนดความละเอียดของตัวเองได้ ตัวอย่างเช่นหากข้อมูลเป็น 99.123 ที่มีความละเอียด 2 ข้อมูลก็ควรแสดงเป็น 99.12 ในทำนองเดียวกันค่าข้อมูล 99 และความละเอียด 3 ควรแสดงเป็น 99.000 (ไม่ใช่ 99) มีวิธีทำไหม? แก้ไข: ฉันควรจะชี้แจงมีกล่องข้อความ 95 รายการบนหน้าจอปัจจุบันที่ฉันกำลังทำงานอยู่ แต่ฉันต้องการให้กล่องข้อความทุกชิ้นตลอดหน้าจอต่างๆในโปรแกรมของฉันแสดงจำนวนตำแหน่งทศนิยมที่ถูกต้อง ตอนนี้ฉันคิดเกี่ยวกับเรื่องนี้บางส่วนเป็น TextBoxes (เช่นหน้าจอที่ฉันกำลังทำงานอยู่ตอนนี้) และบางส่วนเป็น DataGrids หรือ ListViews แต่ถ้าฉันสามารถหาวิธีทำให้มันทำงานกับกล่องข้อความได้ฉันแน่ใจว่าฉันสามารถคิดได้ สำหรับการควบคุมอื่น ๆ ด้วย ในกรณีนี้มีโค้ดไม่มากนัก แต่ฉันจะพยายามทำให้ชัดเจนขึ้น: ฉันมี View Model ซึ่งมีคุณสมบัติดังต่อไปนี้ (vb.net): Public ReadOnly Property Resolution As …

7
วิธีอ่านไฟล์ข้อความในไดเรกทอรีรากของโครงการ
ฉันต้องการอ่านบรรทัดแรกของไฟล์ข้อความที่ฉันเพิ่มลงในไดเร็กทอรีรากของโปรเจ็กต์ของฉัน หมายความว่าโปรแกรมสำรวจโซลูชันของฉันกำลังแสดงไฟล์. txt ข้างไฟล์. cs ในโครงการของฉัน ฉันพยายามทำ: TextReader tr = new StreamReader(@"myfile.txt"); string myText = tr.ReadLine(); แต่ไม่ได้ผลเนื่องจากอ้างถึง Bin Folder และไฟล์ของฉันไม่อยู่ในนั้น ... ฉันจะทำให้มันทำงานได้อย่างไร? : / ขอบคุณ
94 c#  wpf 

9
วิธีจัดรูปแบบ TimeSpan ใน XAML
ฉันพยายามจัดรูปแบบบล็อกข้อความที่เชื่อมโยงกับTimeSpanคุณสมบัติ ใช้งานได้หากคุณสมบัติเป็นประเภทDateTimeแต่จะล้มเหลวหากเป็นไฟล์TimeSpan. ฉันสามารถทำได้โดยใช้ตัวแปลง แต่ฉันกำลังพยายามค้นหาว่ามีทางเลือกอื่นหรือไม่ รหัสตัวอย่าง: public TimeSpan MyTime { get; set; } public Window2() { InitializeComponent(); MyTime = DateTime.Now.TimeOfDay; DataContext = this; } Xaml <TextBlock Text="{Binding MyTime,StringFormat=HH:mm}"/> ฉันคาดหวังว่าบล็อกข้อความจะแสดงเฉพาะชั่วโมงและมินต์ แต่แสดงเป็น: 19: 10: 46.8048860

3
บังคับให้ TextBlock รวมอยู่ใน WPF ListBox
ฉันมีกล่องรายการ WPF ที่แสดงข้อความ มีรูปประจำตัวอยู่ทางด้านซ้ายและชื่อผู้ใช้และข้อความซ้อนกันในแนวตั้งทางด้านขวาของรูปประจำตัว เค้าโครงใช้ได้ดีจนกระทั่งข้อความควรตัดเป็นคำ แต่ฉันจะได้แถบเลื่อนแนวนอนบนกล่องรายการแทน ฉันได้ใช้ Google และพบวิธีแก้ปัญหาที่คล้ายกัน แต่ไม่มีวิธีใดได้ผล <ListBox HorizontalContentAlignment="Stretch" ItemsSource="{Binding Path=FriendsTimeline}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Border BorderBrush="DarkBlue" BorderThickness="3" CornerRadius="2" Margin="3" > <Image Height="32" Width="32" Source="{Binding Path=User.ProfileImageUrl}"/> </Border> <StackPanel Orientation="Vertical"> <TextBlock Text="{Binding Path=User.UserName}"/> <TextBlock Text="{Binding Path=Text}" TextWrapping="WrapWithOverflow"/> <!-- This is the textblock I'm having issues with. --> </StackPanel> …

9
Windows GUI: WPF หรือ WinRT (2015+)
ฉันพยายามหาภาพรวมของเทคโนโลยีต่างๆเพื่อใช้ในการสร้าง GUI ใน Windows World สำหรับบริบทฉันกำลังสร้างเกมแบบผู้เล่นหลายคนบนแพลตฟอร์ม 2d เล็กน้อย (เพียงเพื่อการเรียนรู้ .. ) ครูของฉันบอกว่าเขาคิดว่า WPF เป็นวิธีที่ถูกต้อง แต่ดูเหมือนว่าเขาจะเปรียบเทียบกับ Windows Forms เท่านั้น การพูดน้อยของฉันคือที่นี่ในปี 2015 Windows Forms ตายไปแล้ว? ในคำถามซ้อนทับอื่น ๆ พวกเขากล่าวว่า WinRT + XAML ใช้สำหรับการสร้าง Metro GUI (สิ่งที่เป็นหน้าต่าง 8 กระเบื้อง!) และดูเหมือนว่า WPF เป็นสิ่งที่ใช้สำหรับเดสก์ท็อปใน Window 7/8 เท่านั้นและใกล้เคียงกับ Silverlight Windows 8 Runtime (WinRT / Windows Store apps …

2
JavaFX เปรียบเทียบกับ WPF อย่างไร [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันส่วนใหญ่เป็นโปรแกรมเมอร์ C # ฉันเลิกเขียน Java เมื่อประมาณ 10 ปีที่แล้ว แต่ฉันพยายามติดตามเทคโนโลยีใน Java โดยการอ่านบทความพูดคุยกับเพื่อน ฯลฯ ฉันเคยได้ยินเกี่ยวกับเฟรมเวิร์ก GUI แบบใหม่ที่เรียกว่า JavaFX แต่ไม่พบทรัพยากรใด ๆ ที่เปรียบเทียบกับแนวเทียบที่ไม่ใช่ Java เนื่องจากฉันคุ้นเคยกับ C # และ WPF เป็นอย่างดีฉันจึงอยากทราบว่าเทคโนโลยีทั้งสองเหมือนหรือแตกต่างกันอย่างไร แก้ไข: เมื่อไม่มีคำตอบมาฉันจะพยายามเจาะจงมากขึ้น: WPF ใช้ XAML เพื่อสร้างแผนผังภาพ JavaFX มีอะไรที่คล้ายกันหรือไม่? WPF ใช้กับการเชื่อมต่อกับโมเดลมุมมองในรูปแบบ MVVM ได้ดีที่สุด JavaFX ยังใช้ประโยชน์จากการผูกได้อย่างกว้างขวางหรือไม่ WPF ใช้ …
94 wpf  javafx-2  javafx 

3
ฉันจะจัดเรียง DataGridTemplateColumn บน WPF Toolkit DataGrid ได้อย่างไร
ฉันมี WPF Toolkit DataGrid ที่มี DataGridTemplateColumn หนึ่งอัน ฉันได้ระบุในแอตทริบิวต์กริดที่ฉันต้องการให้คอลัมน์ทั้งหมดสามารถจัดเรียงได้ แต่ DataGridTemplateColumn ไม่อนุญาต คอลัมน์อื่น ๆ ทั้งหมดอนุญาตให้จัดเรียงได้ ฉันได้ลองตั้งค่า CanUserSort อย่างชัดเจนให้เป็นจริงสำหรับคอลัมน์นั้น แต่ไม่มีโชค สามารถจัดเรียงคอลัมน์เทมเพลตได้หรือไม่? ฉันได้จัดเตรียมตัวเรียงลำดับแบบกำหนดเองที่ใช้ได้กับทุกคอลัมน์ แต่ส่วนหัวไม่อนุญาตให้คลิกเรียงลำดับ <Controls:DataGrid ItemsSource="{Binding Events}" AutoGenerateColumns="False" CanUserSortColumns="True" CanUserReorderColumns="False" Sorting="DataGrid_Sorting" x:Name="EventsGrid"> <Controls:DataGrid.Columns> <Controls:DataGridTemplateColumn Header="Type" Width="42" CanUserResize="False"> <Controls:DataGridTemplateColumn.CellTemplate> <DataTemplate> <Image Source="{Binding EventTypeImage, Mode=OneWay}" HorizontalAlignment="Center" Width="16"/> </DataTemplate> </Controls:DataGridTemplateColumn.CellTemplate> </Controls:DataGridTemplateColumn> <Controls:DataGridTextColumn Header="Source" Binding="{Binding Source, Mode=OneWay}" …

7
ฉันจะกำจัดคำเตือนคอมไพเลอร์“ [บางเหตุการณ์] ไม่เคยใช้” ใน Visual Studio ได้อย่างไร
ตัวอย่างเช่นฉันได้รับคำเตือนของคอมไพเลอร์นี้ ไม่เคยใช้เหตุการณ์ 'Company.SomeControl.SearchClick' แต่ฉันรู้ว่ามันถูกใช้เพราะการแสดงความคิดเห็นมันทำให้ฉันเหมือน 20 คำเตือนใหม่ของหน้า XAML ที่พยายามใช้เหตุการณ์นี้! สิ่งที่ช่วยให้? มีเคล็ดลับในการกำจัดคำเตือนนี้หรือไม่?

6
คุณเปลี่ยนพื้นหลังสำหรับ MouseOver ปุ่มใน WPF ได้อย่างไร
ฉันมีปุ่มบนหน้าของฉันด้วย XAML นี้: <Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="50" Height="50" HorizontalContentAlignment="Left" BorderBrush="{x:Null}" Foreground="{x:Null}" Margin="50,0,0,0"> <Button.Style> <Style TargetType="Button"> <Setter Property="Background" Value="Green"/> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="Red"/> </Trigger> </Style.Triggers> </Style> </Button.Style> </Button> แต่เมื่อฉันวางเมาส์เหนือปุ่มพื้นหลังของปุ่มจะเปลี่ยนเป็นพื้นหลังสีเทาของหน้าต่างเริ่มต้น มีปัญหาอะไร? นี่คือภาพปุ่มก่อนและหลังการวางเมาส์: ก่อน: หลัง:

4
วิธีการตั้งค่าตำแหน่งแถวและคอลัมน์ตารางโดยใช้โปรแกรม
ฉันมีกริดสองอันภายในแผงควบคุม ตารางแรกมีชื่อว่า GridX เริ่มแรกภายในตารางจะมีอาร์เรย์ 2 มิติของ Textboxes (RowDefs / ColumnDefs) นิยาม TextBox ใน XAML คือ <TextBox x:Name="A1" Grid.Row="4" Grid.Column="5" TextAlignment="Center" /> ฉันต้องการเพิ่มTextBlock โดยทางโปรแกรมในตำแหน่งเดียวกับส่วนหนึ่งของ GridX เอฟเฟกต์ต้องเป็นแบบนี้ <TextBlock Grid.Row="4" Grid.Column="5" HorizontalAlignment="Left" VerticalAlignment="Top" Text="10" FontSize="8"/> วิธีเพิ่มสิ่งนี้ ฉันได้ลองสิ่งนี้: TextBlock tblock = new TextBlock(); GridX.SetColumn(tblock, cIndex); GridX.SetRow(tblock, rIndex); แต่ล้มเหลว. ฉันลองสิ่งนี้อีกครั้ง: int rIndex = Grid.GetRow(txtBox); int …
93 wpf  gridview 

17
ComboBox- เหตุการณ์ SelectionChanged มีค่าเก่าไม่ใช่ค่าใหม่
C #, .NET 4.0, VS2010 ใหม่สำหรับ WPF ฉันมี ComboBox บน MainWindow ของฉัน ฉันติดเหตุการณ์ SelectionChanged ของกล่องคำสั่งผสมดังกล่าว อย่างไรก็ตามถ้าฉันตรวจสอบค่าของกล่องคำสั่งผสมในตัวจัดการเหตุการณ์มันมีค่าเก่า ฟังดูเหมือนเหตุการณ์ "SelectionChanging" มากกว่าเหตุการณ์ SelectionChanged ฉันจะรับค่าใหม่ของ ComboBox ได้อย่างไรหลังจากการเลือกเกิดขึ้นจริง ปัจจุบัน: this.MyComboBox.SelectionChanged += new SelectionChangedEventHandler(OnMyComboBoxChanged); ... private void OnMyComboBoxChanged(object sender, SelectionChangedEventArgs e) { string text = this.MyComboBox.Text; } หมายเหตุฉันจะได้รับพฤติกรรมเดียวกันนี้ถ้าฉันใช้วัตถุที่ส่งผ่านใน args เหตุการณ์ egeOriginalSource

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