WPF Combobox-Rendering-Problem im Autodesk Vault Add-In auf High-DPI-Monitoren
Posted: 11 Apr 2025, 11:15
Ich habe ein Problem. Ich entwickle ein Add-In (.dll) für Autodesk Vault. Das Add-In erstellt dynamisch Spalten und Zeilen und verwendet ein WPF-Fenster. Einige der Spalten enthalten Komboboxe mit Werten, die aus einem ERP -System abgerufen wurden. Wenn ich einen Combobox erweitere und den Cursor in der Dropdown -Liste über einen Element in der Dropdown -Liste erweitere, verschwindet der Rest der Liste nur das Element unter dem Cursor sichtbar. Das programmgesteuerte Festlegen von DPI -Bewusstsein hilft auch nicht. Alle eigenständigen Anwendungen außerhalb von Tresorvergewaltigungen verarbeiten Comboboxe korrekt auf verschiedenen Monitoren. Das Problem wird nur angezeigt, wenn das Add-In als Teil des Tresors ausgeführt wird. < /P>
Hat jemand ein ähnliches Problem erlebt?
.net Framework 4.8
Hat jemand ein ähnliches Problem erlebt?
Code: Select all
case DataType.String:
default:
if (listBoxColumn.ContainsKey(name.ToLower()))
{
var comboBoxFactory1 = new FrameworkElementFactory(typeof(ComboBox));
comboBoxFactory1.SetValue(ComboBox.ItemsSourceProperty, listBoxColumn[name.ToLower()]);
comboBoxFactory1.SetValue(UIElement.SnapsToDevicePixelsProperty, false);
comboBoxFactory1.SetValue(FrameworkElement.UseLayoutRoundingProperty, false);
comboBoxFactory1.SetBinding(ComboBox.SelectedItemProperty, new Binding(name)
{
Mode = BindingMode.TwoWay,
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
});
comboBoxFactory1.SetValue(ComboBox.HorizontalAlignmentProperty, HorizontalAlignment.Stretch);
comboBoxFactory1.AddHandler(ComboBox.SelectionChangedEvent, new SelectionChangedEventHandler(ComboBox_SelectionChanged));
var comboBoxTemplate1 = new DataTemplate
{
VisualTree = comboBoxFactory1
};
dataGridColumn = new DataGridTemplateColumn
{
Header = name,
CellTemplate = comboBoxTemplate1,
CellEditingTemplate = comboBoxTemplate1,
IsReadOnly = readOnlyColumn
};
}