בשלהי מלחמת העולם הראשונה ניטשה מחלוקת על זכות הבעלות על העיר, בין פולין וליטא. ב-1919 עזבו הגרמנים את העיר, והצבא האדום נכנס אליה. בפברואר 1919 כבש הצבא הליטאי את העיר מידי ברית המועצות.
ב-1939, לאחר כיבוש מזרח פולין בידי ברית המועצות, הוקם בעיר מחנה שבויים לחיילים פולנים. בקיץ 1941 כבשו הגרמנים את העיר, והמחנה הוסב למחנה שבויים לחיילים סובייטיים (סטלג 343). ביערות הסביבה רצחו הגרמנים כ-60,000 איש, רובם יהודים מערי הסביבה.
יהודי אליטה.
ערב הכיבוש הגרמני חיו באליטה כ-1,700 יהודים שקיימו מוסדות חינוך, ספרייה ותנועות נוער.
ביוני 1941 כבשו הגרמנים את אליטה וירו במאות יהודים כתגמול על מות חיילים גרמנים. ליטאים לאומנים רצחו בימים הבאים מאות יהודים נוספים. בעיר הוקם גטו ובאוגוסט 1941 נרצחו כ-1,100 מתושבי הגטו ביער סמוך בידי ליטאים.
אנריל 2
שר הכלכלה והמסחר
Windows Presentation Foundation
Windows Presentation Foundation (בקיצור WPF) הוא מודל וכלי פיתוח תוכנה מבית מיקרוסופט למערכת ההפעלה חלונות, עם דגש על עיצוב גרפי מתקדם של ממשק המשתמש. WPF החל דרכו תחת שם הקוד Avalon, פורסם במגזין MSDN בסוף 2004, הושק ב-2006 ויועד לשילוב במערכת ההפעלה שנקראה בשם הקוד Longhorn ונודעה לאחר מכן בשמה ויסטה. המודל הושק כחלק מפלטפורמת .NET 3 החל מחבילת הפיתוח ויז'ואל סטודיו 2008.
WPF חולל למעשה מהפך של ממש עבור מפתחי Windows מאז מערכת ההפעלה Windows 95. במודל זה לא נעשה שימוש בליבת החלונות הסטנדרטית Windows Forms המבוססת על המנועים User32 ו-GDI/GDI+ שבתפיסתה טכנולוגיה מיושנת הקיימת כשני עשורים. אלא הוכנסה לשימוש אינסטלציה חדשה המבוססת על ספריית DirectX שהפכה לחלק בלתי נפרד ממערכות ההפעלה של מיקרוסופט. בדרך זו מתאפשר למפתחי החלונות לנצל האצת חומרה ויתרונות נוספים של חומרת התצוגה על מנת להעשיר את חזות החלונות. מנהל התצוגה של Windows 7 משתמש בספריות שהן חלק מתשתית WPF (נקרא Media Integration Layer) כדי לרנדר את שולחן העבודה.
מפתחי WPF הושפעו מטכנולוגיות כמו פלאש והוא דומה קצת לטכנולוגיות כמו XUL של מוזילה פיירפוקס ו-SVG. ממשק המשתמש מעוצב באמצעות שפת תגיות מבוססת XML הקרויה XAML קיצור של Extensible Application Markup Language (מבוטא "זאמל") ומופרד מקוד התוכנה המתנהל מאחורי הקלעים בדומה ל-ASP.NET. היכולת לעצב את ממשק המשתמש ללא תלות בקוד התוכנה מאפשרת הפחתת התלות בין המתכנת למעצב. בדרך זו ניתן לעצב ממשק בנפרד תוך שימוש בכלים מתאימים ולחבר ביניהם לאחר מכן. ספריות זמן הריצה (CLR) של WPF כלולות בכל מערכות ההפעלה של מיקרוסופט החל מוויסטה, למעט משתמשי XP שלהם אופציית התקנה. נכון לשנת 2013 שוחררו חמש גרסאות WPF גרסה 3.0 הראשונה פורסמה בנובמבר 2006 גרסה 3.5 ב-2007 ובאוגוסט 2008 שוחררה גרסת המשך 3.5sp1. בשנת 2010 יצאה גרסה 4 ובאוגוסט 2012 שוחררה גרסה 4.5.
WPF לעומת UWP.
Universal Windows Platform שהושקה עם Windows 10 מהווה טכנולוגיה חלופית שאמורה להיות חוצה-פלטפורמות ונראה שבמיקרוסופט נוטים להעדיפה על פני WPF. ישנם יתרונות לשימוש ב-WPF; העובדה שהוא מתאים גם למערכות הפעלה קודמות וכן בניגוד ל-UWP הפועלת בשיטת ארגז חול, למפתח יש יותר שליטה במתרחש מאחורי הקלעים.
ארכיטקטורה.
WPF משתמש בארכיטקטורה מרובת שכבות, בשכבה העליונה ביותר האפליקציה מתקשרת עם שרותי קצה עיליים שנכתבו כולם ב-C# ואילו עיקר העבודה ברמה הנמוכה, המרת עצמי .NET לאלמנטים תלת ממדיים של Direct3D מתרחשת מאחורי הקלעים בשכבה התחתונה הכתובה בקוד בלתי מנוהל (Unmanaged) בשפת C++ הקוד נמצא בספרייה milcore.dll.
ספריות השכבות של WPF כוללות:
טכנולוגיות חדשות.
להלן החידושים המשמעותיים שהוכנסו ב-WPF ביחס לטכנולוגיות קודמות של מיקרוסופט:
עיקר השימוש בשפה זו ייצוג והגדרה של האלמנטים המרכיבים את הממשק, פאנלים, כפתורים, פקדים וכל אלמנט ויזואלי המופיע בחלון היישום. אפשר להגדיר כמעט כל דבר; טקסט, תמונה, וידאו, לצייר מסלול (Path) באמצעות סדרת קואורדינטות. אפשר לכתוב תגיות XAML באופן ידני, אך הדרך המועדפת היא שהעורך הוויזואלי יבצע את רוב העבודה, כאשר גוררים אלמנט לתוך החלון או משנים את תכונותיו, העורך מבצע את השינוי המתאים בקובץ ה-XAML באופן אוטומטי. לעיתים נדרשת התערבות נוספת לצורך שיפורים. בעיקרון אין חובה להשתמש בשפת תגיות, ניתן ליצור יישום שלם באמצעות קוד, ללא קובץ XAML כלל (אם כי יצירת חלון באמצעות קוד עשויה להיות ארוכה יותר כיוון שמרבית מחלקות WPF אינן כוללות בנאים עם ארגומנטים). להפרדה בין עיצוב החלון לקוד הלוגי של התוכנה חשיבות רבה בייחוד בעבודת צוות. היא מאפשרת לחלק את העבודה ביעילות בין מתכנת למעצב. היכולת הזו לא קיימת בטכנולוגיות הקודמות, כיוון שכל אלמנט המופיע בחלון מצויר באמצעות קוד. כל שינוי קטן בעיצוב מתבצע באמצעות שינוי בקוד המתאים.
קיימות מספר תתי מחלקות של שפה זו:
בשפת התגיות XAML כל אלמנט ממופה למופע מתאים של מחלקת .NET ממנה נגזר. אפשר להגדירו עם שם שישמש לזיהויו בקוד שמאחור (Code behind). ניתן לקנן אלמנט יחיד או אלמנטים מרובים בתוך אלמנט אחר. כל אלמנט מקונן "מוכל" באלמנט שמעליו בעץ ההיררכי. ניתן לשרשר תגיות מרובות כדי להגדיר מאפיינים מורכבים וחכמים, להוסיף תגיות סגנון לשימוש כללי ואירועים כמו הקשת מקש או לחיצת עכבר (שאמנם ללא הקוד מאחור אינם עושים דבר). להלן דוגמה לקוד XAML המתאר חלון ריק:
&lt;Window x:Class="MyApplication.MyWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MyWindow" Height="300" Width="300"&gt;
&lt;/Window&gt;
כבכל מסמך XML הקוד מורכב מאלמנט ראשי יחיד. במקרה זה מתחיל ומסתיים בתגית Window, המייצג מחלקת חלון רגילה של .NET. שתי התגיות הבאות xmlns ו-xmlns:x מייצגות את מרחב השמות (Namespace) של WPF ו-XAML בהתאמה, כדי להכליל את הספריות המתאימות. כתובת האתר אינה משמשת לדבר מלבד הצורך בשם ייחודי, ההיגיון העומד מאחורי בחירה בשם זה שהוא בבעלות מיקרוסופט ולא סביר שארגון אחר יצור שפת תגיות עם מרחב שמות דומה. החיבור עם הקוד שמאחור אפשרי אודות לשם המופיע מיד לאחר תגית החלון במקרה זה MyWindow המוכל במרחב השם MyApplication. בהם משתמש האשף כדי להוסיף מסגרת קוד בסיסית מתאימה המכילה קריאה לפונקציה יחידה InitializeComponent שבתורה מפעילה שיטה במחלקת החלון שטוענת בזמן הריצה את ה-XAML (לאחר שהודר לקובץ בינארי BAML) ומבצעת את קישור העצמים לקוד. להלן קוד התוכנה המשויך לחלון המתואר:
namespace MyApplication
public partial class MyWindow : Window
public MyWindow()
InitializeComponent();
למעט החלק היחידי שלא הוצג כאן, קוד ההפעלה של היישום (שבדרך כלל נוצר באופן אוטומטי על ידי האשף). היישום המתואר שלם ויפעל ללא דופי בלי צורך בכתיבת קוד נוסף. כמו כן ניתן לייבא קובץ XAML ולטעון את האלמנטים הכלולים בו לחלון התוכנית בזמן ריצה. אם מחליפים את תגית האלמנט הראשי ל-Page ניתן לפתוח את הקובץ ישירות בדפדפן.
להלן דוגמה להוספת מכולת Grid שבתוכה תיבת טקסט, ניתן להגדיר זאת בפשטות:
&lt;Grid&gt;
&lt;TextBox /&gt;
&lt;/Grid&gt;
או ביתר פירוט:
&lt;Grid&gt;
&lt;TextBox VerticalAlignment="Stretch" HorizontalAlignment="Top"
Margin="10,10,13,10" Name="txtbox"
TextWrapping="Wrap" FontFamily="Verdana" FontSize="24"
Grid.Row="0"&gt;
[Place text here.]
&lt;/TextBox&gt;
&lt;/Grid&gt;
אפשר לראות כאן את שיטת "הצמדת המאפיינים" בפעולה, המאפיין Grid.Row אינו חלק טבעי מתיבת טקסט, כאן המכולה Grid הקנתה לתיבת הטקסט את המאפיין הדרוש על מנת להגדיר את מיקומה היחסי במכולה, במקרה זה מספר השורה.
רזולוציה.
היות שתצוגת חלונות תלויה ברזולוציית המסך, קיימת בעיה בחלונות ישנים שעלולים להראות קטנים במסך הבחנה גבוהה כיוון שממשק המשתמש הישן נקבע מראש לרזולוציה של 96 פיקסל לאינץ' (PPI). במסך התומך ב-144 פיקסל או יותר, סביר להניח שחלונות יוצגו זעירים מדי ואף בלתי ניתנים לקריאה. ויסטה ו-Windows 7 מנסות לפצות על הבעיה על ידי התייחסות לחלון כאל תמונה, המערכת מגדילה את החלון באופן יחסי ומתרגמת את מערכת הקואורדינטות שלו בזמן העבודה, זה עובד אך התוצאה לא תמיד טובה. יתרה מזו גם אם החלון תומך ברזולוציה גבוהה המערכת אינה יודעת זאת מבלי שהתוכנה תיידע אותה. תמיכה ברזולוציה גבוהה ניתנת להכרזה באמצעות פונקציות API.
אידיאלית הפתרון הוא הוספה או הפחתה של פיקסלים כדי לשמר את מידות החלון בכל המסכים ללא תלות ברזולוציה בין אם יוצג במקרן ענק או בטלפון חכם. ההבדל היחידי יהיה בכמות הפרטים (פיקסלים) שיוצגו. WPF אינו מסתמך על רזולוציית המסך הפיזית אלא על מה שקרוי "רזולוציית מערכת". החלון וכל האלמנטים שבו משתמשים ביחידות מידה לוגיות בלתי-תלויות התקן בגודל 1/96 אינץ'. בזמן ההצגה למסך מתבצעת המרה ליחידות פיזיות ונקבע מכמה פיקסלים יורכב כל אלמנט בהתאם לנתוני המערכת. יתרה מזו, אם קצוות האלמנט נופלים בין הפיקסלים WPF מבצע מיזוג של פיקסלים סמוכים בטכניקה הקרויה Anti-aliasing (בדומה לתוכנות גרפיות כמו אדובי פוטושופ). באופן זה מובטח שפרופורציות חלון היישום והאלמנטים הכלולים בו יישמרו מבלי לדעת מה תהיה הרזולוציה הפיזית בזמן הפעלת היישום. הנוסחה לפיה ממיר WPF את מערכת הקואורדינטות ליחידות מידה בפועל היא: