Что-то вроде следующего: это будет использовать только первое свойство, с которым он сталкивается, имеющий атрибут, конечно, вы можете разместить его на нескольких языках.
public object GetIDForPassedInObject(T obj)
{
var prop = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance)
.FirstOrDefault(p => p.GetCustomAttributes(typeof(IdentifierAttribute), false).Count() ==1);
object ret = prop !=null ? prop.GetValue(obj, null) : null;
return ret;
}
Если вы хотите изменить размер окна вашего приложения, просто воспользуйтесь этой ссылкой: Размер окна WPF и этот wpf-windows-Overview # window-size
[110 ]
, но я думаю, что вы ищете интеграцию DPi в приложение WPF, посмотрите его ссылку для получения дополнительной информации
Наконец-то я знаю, чего хочу. И описание в вопросе неясно: (
Я хочу, чтобы размер приложения (размер окна, а также размер содержимого) корректировался в соответствии с разрешением экрана и масштабированием так, чтобы мое приложение занимало (почти) Один и тот же раздел экрана во время первого обеда. Никогда не становитесь слишком большими и не выходите за пределы экрана, ни слишком маленькими, чтобы их было видно.
Поэтому я делаю свое окно Height
и Width
привязанным к
И добавьте это к самому внешнему Grid
<Grid.LayoutTransform>
<ScaleTransform CenterX="0"
CenterY="0"
ScaleX="{Binding ElementName=myMainWindow, Path=ScaleValue}"
ScaleY="{Binding ElementName=myXMainWindow, Path=ScaleValue}"/>
</Grid.LayoutTransform>
Коду
public double ScaleValue
{
get
{
return ReSizeWidth / 1200;
// 1200 is the design height
}
}
Хотя это работает, но я думаю, что это может вызвать некоторые плохие эффекты, такие как размытие или псевдонимы. Я думаю, что должна быть встроенная функция или что-то для этого.
То, что вы неправильно понимаете, - это подразделение, с которым вы работаете. при установке ширины контейнера вы не скажете ему, например, чтобы его ширина составляла ровно 500 пикселей. Это имеет смысл, когда вы начинаете думать о шрифтах. Fontsize 25 был бы хорош для вашего дисплея, но для дисплея 4K он мог бы быть минималистичным маленьким и нечитаемым. Чтобы обойти это стандартное устройство, для которого вы устанавливаете свой контейнер, составляет 1/96 дюйма. Вы можете изменить его, как показано ниже в цитате:
qualDouble Двойное значение, как описано выше, за которым следует одна из следующих строк объявления единиц: px, in, cm, pt.
px (по умолчанию) - независимые от устройства единицы (1/96 дюйма на единицу)
в дюймах; 1 дюйм == 96px
см - это сантиметры; 1см == (96 / 2.54) px
pt - точки; 1pt == (96/72) px
Авто Включает режим автоматического изменения размера. См. Примечания.
BLOCKQUOTE>