Jump to content
LaunchBox Community Forums

YART (Yet Another Refried Theme)


Baggio

Recommended Posts

First of fall - fantastic spin on the refried theme. It works great and feels great! It is now my new daily driver.

I've been toying with a few views, to see if I could get them just right for my taste and setup.  I'd like to share that work, and the issues I tried to address. Feel free to consider any of these changes going forward, or disregard them entirely (some are definitely a matter of taste).

Keep in mind that any adjustments made was targeting a 1440p resolution. I did not test any other resolution.

PlatformWheel1FiltersView

  • Although my background videos are 1920x1080 (so 16x9), there is a noticable margin around the screen. Changing the StretchVideo property to True on the SelectedItemVideo1video element fixed it for me.
  • The original Refried theme has a subtle white shadows on the wheel's clear logos. I added it back to the wheel. I had to add a margin to prevent the shadow from clipping.
  • Finally, I really wanted the scrolling text to be at the bottom, mostly to match the other views. Definitely a personal taste thing.

Wheel2GamesView

The view is kind of dense to read because it has the same condition coming up again and again (to pick the right color for the platform). I couldn't help myself, so the first thing I did was to create a new hidden TextBlock to store that color, which I then re-used everywhere the color was needed. Doing so cut the number of lines in half :) I believe it made the view snappier too, but I might be dreaming it.

  • I re-applied the same changes to the wheel as in PlatformWheel1FiltersView (white shadow and margin).
  • I commented out the display of the "Unplayed" badge (personal preference).
  • I added a shadow under the 3D box, the 3D model, carts and discs.
  • I changed the view so that it display a 3D image if found, with fallback to 3D model if only a front image if found (so reverse of current behaviour).
  • I reduced the "bounciness" of the falling boxes.
  • Reworked the alignment of the "Genre, Playmode, Rating" dock so that a missing publisher doesn't affect how the next element lines up (right now, there would be an extra space in front)
  • Changed the rating to ESRB as documented.

TextGamesView

  • Removed redundant conditions (same as above)
  • Added a margin to the Wheel element to prevent the selector from touching the corners.
  • Added a margin to prevent the clock from getting over the game menu.
  • Removed the time played floating text. Replaced the game index with time played, and added a shadow effect.
  • Reworked the alignment of the "Genre, Playmode, Rating" dock so that a missing publisher doesn't affect how the next element lines up.
  • Reworked which images are shown. Disabled the 5th image (gameplay 3). Replaced Game Play 2 with Game Over. Current layout will display duplicate images if your images are names after the ROMs.
  • Increased the ZIndex of Rectangle2 so that it sits on top of the screenshots. Otherwise the screen will fade to black while the screenshot stays visible. Easy way to replicate is to select "View Images Fullscreen" and back.
  • Changed the rating to ESRB as documented.

I've attached the original files along with modified version. They were taken from version 1.8, but are compatible with version 1.9 (some fixes were ported from back from 1.9).

Comments and suggestions are welcome.

PlatformWheel1FiltersView.xaml PlatformWheel1FiltersView.xaml.original TextGamesView.xaml TextGamesView.xaml.original Wheel2GamesView.xaml Wheel2GamesView.xaml.original

Edited by Belmont
Added more info.
Link to comment
Share on other sites

10 hours ago, Belmont said:

First of fall - fantastic spin on the refried theme. It works great and feels great! It is now my new daily driver.

I've been toying with a few views, to see if I could get them just right for my taste and setup.  I'd like to share that work, and the issues I tried to address. Feel free to consider any of these changes going forward, or disregard them entirely (some are definitely a matter of taste).

Keep in mind that any adjustments made was targeting a 1440p resolution. I did not test any other resolution.

PlatformWheel1FiltersView

  • Although my background videos are 1920x1080 (so 16x9), there is a noticable margin around the screen. Changing the StretchVideo property to True on the SelectedItemVideo1video element fixed it for me.
  • The original Refried theme has a subtle white shadows on the wheel's clear logos. I added it back to the wheel. I had to add a margin to prevent the shadow from clipping.
  • Finally, I really wanted the scrolling text to be at the bottom, mostly to match the other views. Definitely a personal taste thing.

Wheel2GamesView

The view is kind of dense to read because it has the same condition coming up again and again (to pick the right color for the platform). I couldn't help myself, so the first thing I did was to create a new hidden TextBlock to store that color, which I then re-used everywhere the color was needed. Doing so cut the number of lines in half :) I believe it made the view snappier too, but I might be dreaming it.

  • I re-applied the same changes to the wheel as in PlatformWheel1FiltersView (white shadow and margin).
  • I commented out the display of the "Unplayed" badge (personal preference).
  • I added a shadow under the 3D box, the 3D model, carts and discs.
  • I changed the view so that it display a 3D image if found, with fallback to 3D model if only a front image if found (so reverse of current behaviour).
  • I reduced the "bounciness" of the falling boxes.
  • Reworked the alignment of the "Genre, Playmode, Rating" dock so that a missing publisher doesn't affect how the next element lines up (right now, there would be an extra space in front)
  • Changed the rating to ESRB as documented.

TextGamesView

  • Removed redundant conditions (same as above)
  • Added a margin to the Wheel element to prevent the selector from touching the corners.
  • Added a margin to prevent the clock from getting over the game menu.
  • Removed the time played floating text. Replaced the game index with time played, and added a shadow effect.
  • Reworked the alignment of the "Genre, Playmode, Rating" dock so that a missing publisher doesn't affect how the next element lines up.
  • Reworked which images are shown. Disabled the 5th image (gameplay 3). Replaced Game Play 2 with Game Over. Current layout will display duplicate images if your images are names after the ROMs.
  • Increased the ZIndex of Rectangle2 so that it sits on top of the screenshots. Otherwise the screen will fade to black while the screenshot stays visible. Easy way to replicate is to select "View Images Fullscreen" and back.
  • Changed the rating to ESRB as documented.

I've attached the original files along with modified version. They were taken from version 1.8, but are compatible with version 1.9 (some fixes were ported from back from 1.9).

Comments and suggestions are welcome.

Nice work, i'll implement some of these to the next release 👍.

You are much better at this than me and i need to pick your brains about how you went about things so here are some questions for you if you don't mind.

The colour text block you said you did to cut the code down, what exactly did you do?  

The alignment of the bottom bar (which i struggled with lol)  What did do there to make them fit something was missing?

 

10 hours ago, Belmont said:

I'm also having an issue with the new clock layout in version 1.9. Depending the time of the day, the right margin will vary (from reasonable to null). See attachments.

2023_05_13_17_02_34_LaunchBox_Big_Box.png

2023_05_13_17_00_52_LaunchBox_Big_Box.png

This i am having trouble and is the same issue i have with the new layout i was testing with the index in its own frame on the right as well.

I can't seem to align the text/frame/grid or whatever's controlling it to the right and make it expand to the left, it always goes left to right as shown in your pic.  Creating margins and padding just pushes the whole lot off the screen as well.  Maybe @faeran can help me with this?

Link to comment
Share on other sites

9 hours ago, PaulyC said:

The colour text block you said you did to cut the code down, what exactly did you do?  

If you look at my Wheel2GamesView and search for PlatformForegroundColor (line 130-ish), you'll see I just isolated the same DataTriggers once at the top:

		<TextBlock x:Name="PlatformForegroundColor" Visibility="Collapsed">
			<TextBlock.Style>
				<Style TargetType="TextBlock" >
					<Setter Property="Text" Value="#FFE1133C" />
					<Style.Triggers>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Arcade'}" Value="True">
							<Setter Property="Text" Value="DodgerBlue"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Computer'}" Value="True">
							<Setter Property="Text" Value="#82cdea"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Console'}" Value="True">
							<Setter Property="Text" Value="#82cdea"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Playlist'}" Value="True">
							<Setter Property="Text" Value="#82cdea"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Favorite'}" Value="True">
							<Setter Property="Text" Value="#82cdea"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Amstrad'}" Value="True">
							<Setter Property="Text" Value="#dc483c"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Atari 2600'}" Value="True">
							<Setter Property="Text" Value="#b92e35"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Atari 5200'}" Value="True">
							<Setter Property="Text" Value="#40599c"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Atari 7800'}" Value="True">
							<Setter Property="Text" Value="#2f7bc7"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Jaguar'}" Value="True">
							<Setter Property="Text" Value="#FFE21D2C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Lynx'}" Value="True">
							<Setter Property="Text" Value="#FFF7A30A"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='ColecoVision'}" Value="True">
							<Setter Property="Text" Value="#de5b3f"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Amiga'}" Value="True">
							<Setter Property="Text" Value="#FFF7631C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Amiga CD32'}" Value="True">
							<Setter Property="Text" Value="#de483a"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Fairchild'}" Value="True">
							<Setter Property="Text" Value="#ce981c"/>
						</DataTrigger>
						<MultiDataTrigger>
							<MultiDataTrigger.Conditions>
								<Condition Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game'}" Value="True"/>
								<Condition Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Watch'}" Value="True"/>
							</MultiDataTrigger.Conditions>
							<MultiDataTrigger.Setters>
								<Setter Property="Text" Value="#FF8C8C8D"/>
							</MultiDataTrigger.Setters>
						</MultiDataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Odyssey 2'}" Value="True">
							<Setter Property="Text" Value="#f08211"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='DOS'}" Value="True">
							<Setter Property="Text" Value="#FFEAEA34"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Windows'}" Value="True">
							<Setter Property="Text" Value="#FF0DADEA"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='XBox'}" Value="True">
							<Setter Property="Text" Value="#FF329A24"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='XBox 360'}" Value="True">
							<Setter Property="Text" Value="#FF329A24"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='XBox One'}" Value="True">
							<Setter Property="Text" Value="#FF329A24"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PC-FX'}" Value="True">
							<Setter Property="Text" Value="#9579dd"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PC Engine SuperGrafx'}" Value="True">
							<Setter Property="Text" Value="#69b5dc"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='TurboGrafx'}" Value="True">
							<Setter Property="Text" Value="#f3994d"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='3DS'}" Value="True">
							<Setter Property="Text" Value="#687681"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Nintendo 64'}" Value="True">
							<Setter Property="Text" Value="#FF0057A6"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Nintendo DS'}" Value="True">
							<Setter Property="Text" Value="#FF929497"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Famicom'}" Value="True">
							<Setter Property="Text" Value="#ba3141"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Nintendo Entertainment System'}" Value="True">
							<Setter Property="Text" Value="#FFF80C00"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='GameCube'}" Value="True">
							<Setter Property="Text" Value="#9583f1"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game Boy'}" Value="True">
							<Setter Property="Text" Value="#FF003882"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game Boy Advance'}" Value="True">
							<Setter Property="Text" Value="#FF003882"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game Boy Color'}" Value="True">
							<Setter Property="Text" Value="#FF003882"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Satellaview'}" Value="True">
							<Setter Property="Text" Value="#d5b141"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Super Nintendo'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Super Famicom'}" Value="True">
							<Setter Property="Text" Value="#ecb83b"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Super Game Boy'}" Value="True">
							<Setter Property="Text" Value="#405189"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Switch'}" Value="True">
							<Setter Property="Text" Value="#fb584f"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Virtual Boy'}" Value="True">
							<Setter Property="Text" Value="#e3414c"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Wii'}" Value="True">
							<Setter Property="Text" Value="#FF0CF5F8"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Wii U'}" Value="True">
							<Setter Property="Text" Value="#5aaed2"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='WiiWare'}" Value="True">
							<Setter Property="Text" Value="#81cceb"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='3DO'}" Value="True">
							<Setter Property="Text" Value="#FFC5AA3D"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='CD-I'}" Value="True">
							<Setter Property="Text" Value="#FF9800CA"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='32X'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega CD'}" Value="True">
							<Setter Property="Text" Value="#FF0005FF"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Dreamcast'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game Gear'}" Value="True">
							<Setter Property="Text" Value="#FF13579E"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Genesis'}" Value="True">
							<Setter Property="Text" Value="#FFA1ADCE"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Master System'}" Value="True">
							<Setter Property="Text" Value="#FFE21D2C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Mega Drive'}" Value="True">
							<Setter Property="Text" Value="#FFA4B0D0"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Classics'}" Value="True">
							<Setter Property="Text" Value="#449aeb"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Model'}" Value="True">
							<Setter Property="Text" Value="#449aeb"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Saturn'}" Value="True">
							<Setter Property="Text" Value="#FF9800CA"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega SG'}" Value="True">
							<Setter Property="Text" Value="#4957a1"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Neo Geo AES'}" Value="True">
							<Setter Property="Text" Value="#7c828c"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Neo Geo CD'}" Value="True">
							<Setter Property="Text" Value="#af98e6"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Neo Geo MVS'}" Value="True">
							<Setter Property="Text" Value="#d64444"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Neo Geo Pocket'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PlayStation'}" Value="True">
							<Setter Property="Text" Value="#FFA1ADCE"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PlayStation 2'}" Value="True">
							<Setter Property="Text" Value="#FF375CB3"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PlayStation 3'}" Value="True">
							<Setter Property="Text" Value="#FF375CB3"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PSP'}" Value="True">
							<Setter Property="Text" Value="Gray"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Fruit Machines'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Future Pinball'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Pinball FX3'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='ScummVM'}" Value="True">
							<Setter Property="Text" Value="#FF6FD42F"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Tiger'}" Value="True">
							<Setter Property="Text" Value="#FFE0642B"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Visual Pinball'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='American Laser'}" Value="True">
							<Setter Property="Text" Value="#FFC5AA3D"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Daphne'}" Value="True">
							<Setter Property="Text" Value="#FFFF6A00"/>
							<Setter Property="Text" Value="#FFB54600"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Commodore 64'}" Value="True">
							<Setter Property="Text" Value="#FF003882"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Big Fish'}" Value="True">
							<Setter Property="Text" Value="#FF036DA8"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PopCap'}" Value="True">
							<Setter Property="Text" Value="#FFED1C24"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Wonderswan'}" Value="True">
							<Setter Property="Text" Value="#FF5D80CB"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Wonderswan Color'}" Value="True">
							<Setter Property="Text" Value="#FF667387"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='MUGEN'}" Value="True">
							<Setter Property="Text" Value="#FF6F1D9A"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='M.U.G.E.N'}" Value="True">
							<Setter Property="Text" Value="#FF6F1D9A"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Atari 800'}" Value="True">
							<Setter Property="Text" Value="#FF9C4145"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Konami Handheld Electronics'}" Value="True">
							<Setter Property="Text" Value="#FFFF7C11"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='TurboGrafx-CD'}" Value="True">
							<Setter Property="Text" Value="#FF9EB940"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Tiger Game'}" Value="True">
							<Setter Property="Text" Value="#FFFF0000"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Capcom Play'}" Value="True">
							<Setter Property="Text" Value="#FF3E3E9D"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Laserdisc'}" Value="True">
							<Setter Property="Text" Value="#FFB54600"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Namco ES3'}" Value="True">
							<Setter Property="Text" Value="#FF0C4C93"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='NESiCAxLive'}" Value="True">
							<Setter Property="Text" Value="#FF5697B2"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Raw Thrills'}" Value="True">
							<Setter Property="Text" Value="#FF5837C2"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sammy Atomiswave'}" Value="True">
							<Setter Property="Text" Value="#FF1A7F37"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Lindbergh'}" Value="True">
							<Setter Property="Text" Value="#FF2B78B8"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Mega CD'}" Value="True">
							<Setter Property="Text" Value="#FFA4B0D0"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Mega Drive 32X'}" Value="True">
							<Setter Property="Text" Value="#FFA4B0D0"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Naomi'}" Value="True">
							<Setter Property="Text" Value="#FF66C16D"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Ringedge'}" Value="True">
							<Setter Property="Text" Value="#FFD28300"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Ringwide'}" Value="True">
							<Setter Property="Text" Value="#FF0095BE"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega ST-V'}" Value="True">
							<Setter Property="Text" Value="#FFFFE94F"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Taito Type X'}" Value="True">
							<Setter Property="Text" Value="#FF787878"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Hikaru'}" Value="True">
							<Setter Property="Text" Value="#FF0D95BF"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Global VR'}" Value="True">
							<Setter Property="Text" Value="#FF7A5C96"/>
						</DataTrigger>
					</Style.Triggers>
				</Style>
			</TextBlock.Style>
		</TextBlock>

I then deleted every instance of that code and changed the reference to this guy. Example (notice Foreground="{Binding ElementName=PlatformForegroundColor, Path=Text}"):

<TextBlock x:Name="Text2text" Opacity="1.0"  FontFamily="LAUNCHBOX_ROOT_FOLDER/Themes/YART (Yet Another Refried Theme)/Fonts/BebasNeue Bold.ttf#Bebas Neue Bold" FontStyle="Normal" FontWeight="Normal"
	TextAlignment="Left" TextWrapping="NoWrap" TextTrimming="None" VerticalAlignment="Top"
	Text="(" RenderTransformOrigin=".5,.5" Foreground="{Binding ElementName=PlatformForegroundColor, Path=Text}" 
	FontSize="{Binding ElementName=Canvas,Path=ActualHeight, Converter={StaticResource ScalePropertyValueD}, ConverterParameter=FontSize;30;720}" >
	<TextBlock.RenderTransform>
		<TransformGroup>
			<RotateTransform Angle="0" />
			<ScaleTransform ScaleX="1" ScaleY="1" />
			<SkewTransform  AngleX="0" AngleY="0" />
		</TransformGroup>
	</TextBlock.RenderTransform>
	<TextBlock.Effect>
		<DropShadowEffect BlurRadius="0" Color="Black" Direction="300" Opacity="1" ShadowDepth="{Binding ElementName=Canvas,Path=ActualHeight, Converter={StaticResource ScalePropertyValueD}, ConverterParameter=H;3;720}" RenderingBias="Quality" />
	</TextBlock.Effect>
</TextBlock>

It's the same logic that's throughout the XAML - it's just it didn't need to be repeated everywhere.

If you compare mine with the original (both attached in my earlier post), I will become more obvious.

Link to comment
Share on other sites

1 hour ago, Belmont said:

If you look at my Wheel2GamesView and search for PlatformForegroundColor (line 130-ish), you'll see I just isolated the same DataTriggers once at the top:

		<TextBlock x:Name="PlatformForegroundColor" Visibility="Collapsed">
			<TextBlock.Style>
				<Style TargetType="TextBlock" >
					<Setter Property="Text" Value="#FFE1133C" />
					<Style.Triggers>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Arcade'}" Value="True">
							<Setter Property="Text" Value="DodgerBlue"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Computer'}" Value="True">
							<Setter Property="Text" Value="#82cdea"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Console'}" Value="True">
							<Setter Property="Text" Value="#82cdea"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Playlist'}" Value="True">
							<Setter Property="Text" Value="#82cdea"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Favorite'}" Value="True">
							<Setter Property="Text" Value="#82cdea"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Amstrad'}" Value="True">
							<Setter Property="Text" Value="#dc483c"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Atari 2600'}" Value="True">
							<Setter Property="Text" Value="#b92e35"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Atari 5200'}" Value="True">
							<Setter Property="Text" Value="#40599c"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Atari 7800'}" Value="True">
							<Setter Property="Text" Value="#2f7bc7"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Jaguar'}" Value="True">
							<Setter Property="Text" Value="#FFE21D2C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Lynx'}" Value="True">
							<Setter Property="Text" Value="#FFF7A30A"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='ColecoVision'}" Value="True">
							<Setter Property="Text" Value="#de5b3f"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Amiga'}" Value="True">
							<Setter Property="Text" Value="#FFF7631C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Amiga CD32'}" Value="True">
							<Setter Property="Text" Value="#de483a"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Fairchild'}" Value="True">
							<Setter Property="Text" Value="#ce981c"/>
						</DataTrigger>
						<MultiDataTrigger>
							<MultiDataTrigger.Conditions>
								<Condition Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game'}" Value="True"/>
								<Condition Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Watch'}" Value="True"/>
							</MultiDataTrigger.Conditions>
							<MultiDataTrigger.Setters>
								<Setter Property="Text" Value="#FF8C8C8D"/>
							</MultiDataTrigger.Setters>
						</MultiDataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Odyssey 2'}" Value="True">
							<Setter Property="Text" Value="#f08211"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='DOS'}" Value="True">
							<Setter Property="Text" Value="#FFEAEA34"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Windows'}" Value="True">
							<Setter Property="Text" Value="#FF0DADEA"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='XBox'}" Value="True">
							<Setter Property="Text" Value="#FF329A24"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='XBox 360'}" Value="True">
							<Setter Property="Text" Value="#FF329A24"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='XBox One'}" Value="True">
							<Setter Property="Text" Value="#FF329A24"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PC-FX'}" Value="True">
							<Setter Property="Text" Value="#9579dd"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PC Engine SuperGrafx'}" Value="True">
							<Setter Property="Text" Value="#69b5dc"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='TurboGrafx'}" Value="True">
							<Setter Property="Text" Value="#f3994d"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='3DS'}" Value="True">
							<Setter Property="Text" Value="#687681"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Nintendo 64'}" Value="True">
							<Setter Property="Text" Value="#FF0057A6"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Nintendo DS'}" Value="True">
							<Setter Property="Text" Value="#FF929497"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Famicom'}" Value="True">
							<Setter Property="Text" Value="#ba3141"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Nintendo Entertainment System'}" Value="True">
							<Setter Property="Text" Value="#FFF80C00"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='GameCube'}" Value="True">
							<Setter Property="Text" Value="#9583f1"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game Boy'}" Value="True">
							<Setter Property="Text" Value="#FF003882"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game Boy Advance'}" Value="True">
							<Setter Property="Text" Value="#FF003882"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game Boy Color'}" Value="True">
							<Setter Property="Text" Value="#FF003882"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Satellaview'}" Value="True">
							<Setter Property="Text" Value="#d5b141"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Super Nintendo'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Super Famicom'}" Value="True">
							<Setter Property="Text" Value="#ecb83b"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Super Game Boy'}" Value="True">
							<Setter Property="Text" Value="#405189"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Switch'}" Value="True">
							<Setter Property="Text" Value="#fb584f"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Virtual Boy'}" Value="True">
							<Setter Property="Text" Value="#e3414c"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Wii'}" Value="True">
							<Setter Property="Text" Value="#FF0CF5F8"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Wii U'}" Value="True">
							<Setter Property="Text" Value="#5aaed2"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='WiiWare'}" Value="True">
							<Setter Property="Text" Value="#81cceb"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='3DO'}" Value="True">
							<Setter Property="Text" Value="#FFC5AA3D"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='CD-I'}" Value="True">
							<Setter Property="Text" Value="#FF9800CA"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='32X'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega CD'}" Value="True">
							<Setter Property="Text" Value="#FF0005FF"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Dreamcast'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Game Gear'}" Value="True">
							<Setter Property="Text" Value="#FF13579E"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Genesis'}" Value="True">
							<Setter Property="Text" Value="#FFA1ADCE"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Master System'}" Value="True">
							<Setter Property="Text" Value="#FFE21D2C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Mega Drive'}" Value="True">
							<Setter Property="Text" Value="#FFA4B0D0"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Classics'}" Value="True">
							<Setter Property="Text" Value="#449aeb"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Model'}" Value="True">
							<Setter Property="Text" Value="#449aeb"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Saturn'}" Value="True">
							<Setter Property="Text" Value="#FF9800CA"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega SG'}" Value="True">
							<Setter Property="Text" Value="#4957a1"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Neo Geo AES'}" Value="True">
							<Setter Property="Text" Value="#7c828c"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Neo Geo CD'}" Value="True">
							<Setter Property="Text" Value="#af98e6"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Neo Geo MVS'}" Value="True">
							<Setter Property="Text" Value="#d64444"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Neo Geo Pocket'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PlayStation'}" Value="True">
							<Setter Property="Text" Value="#FFA1ADCE"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PlayStation 2'}" Value="True">
							<Setter Property="Text" Value="#FF375CB3"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PlayStation 3'}" Value="True">
							<Setter Property="Text" Value="#FF375CB3"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PSP'}" Value="True">
							<Setter Property="Text" Value="Gray"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Fruit Machines'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Future Pinball'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Pinball FX3'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='ScummVM'}" Value="True">
							<Setter Property="Text" Value="#FF6FD42F"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Tiger'}" Value="True">
							<Setter Property="Text" Value="#FFE0642B"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Visual Pinball'}" Value="True">
							<Setter Property="Text" Value="#FFE1133C"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='American Laser'}" Value="True">
							<Setter Property="Text" Value="#FFC5AA3D"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Daphne'}" Value="True">
							<Setter Property="Text" Value="#FFFF6A00"/>
							<Setter Property="Text" Value="#FFB54600"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Commodore 64'}" Value="True">
							<Setter Property="Text" Value="#FF003882"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Big Fish'}" Value="True">
							<Setter Property="Text" Value="#FF036DA8"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='PopCap'}" Value="True">
							<Setter Property="Text" Value="#FFED1C24"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Wonderswan'}" Value="True">
							<Setter Property="Text" Value="#FF5D80CB"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Wonderswan Color'}" Value="True">
							<Setter Property="Text" Value="#FF667387"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='MUGEN'}" Value="True">
							<Setter Property="Text" Value="#FF6F1D9A"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='M.U.G.E.N'}" Value="True">
							<Setter Property="Text" Value="#FF6F1D9A"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Atari 800'}" Value="True">
							<Setter Property="Text" Value="#FF9C4145"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Konami Handheld Electronics'}" Value="True">
							<Setter Property="Text" Value="#FFFF7C11"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='TurboGrafx-CD'}" Value="True">
							<Setter Property="Text" Value="#FF9EB940"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Tiger Game'}" Value="True">
							<Setter Property="Text" Value="#FFFF0000"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Capcom Play'}" Value="True">
							<Setter Property="Text" Value="#FF3E3E9D"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Laserdisc'}" Value="True">
							<Setter Property="Text" Value="#FFB54600"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Namco ES3'}" Value="True">
							<Setter Property="Text" Value="#FF0C4C93"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='NESiCAxLive'}" Value="True">
							<Setter Property="Text" Value="#FF5697B2"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Raw Thrills'}" Value="True">
							<Setter Property="Text" Value="#FF5837C2"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sammy Atomiswave'}" Value="True">
							<Setter Property="Text" Value="#FF1A7F37"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Lindbergh'}" Value="True">
							<Setter Property="Text" Value="#FF2B78B8"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Mega CD'}" Value="True">
							<Setter Property="Text" Value="#FFA4B0D0"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega Mega Drive 32X'}" Value="True">
							<Setter Property="Text" Value="#FFA4B0D0"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Naomi'}" Value="True">
							<Setter Property="Text" Value="#FF66C16D"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Ringedge'}" Value="True">
							<Setter Property="Text" Value="#FFD28300"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Ringwide'}" Value="True">
							<Setter Property="Text" Value="#FF0095BE"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Sega ST-V'}" Value="True">
							<Setter Property="Text" Value="#FFFFE94F"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Taito Type X'}" Value="True">
							<Setter Property="Text" Value="#FF787878"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Hikaru'}" Value="True">
							<Setter Property="Text" Value="#FF0D95BF"/>
						</DataTrigger>
						<DataTrigger Binding="{Binding ActiveGame.Platform, Converter={StaticResource Contains}, ConverterParameter='Global VR'}" Value="True">
							<Setter Property="Text" Value="#FF7A5C96"/>
						</DataTrigger>
					</Style.Triggers>
				</Style>
			</TextBlock.Style>
		</TextBlock>

I then deleted every instance of that code and changed the reference to this guy. Example (notice Foreground="{Binding ElementName=PlatformForegroundColor, Path=Text}"):

<TextBlock x:Name="Text2text" Opacity="1.0"  FontFamily="LAUNCHBOX_ROOT_FOLDER/Themes/YART (Yet Another Refried Theme)/Fonts/BebasNeue Bold.ttf#Bebas Neue Bold" FontStyle="Normal" FontWeight="Normal"
	TextAlignment="Left" TextWrapping="NoWrap" TextTrimming="None" VerticalAlignment="Top"
	Text="(" RenderTransformOrigin=".5,.5" Foreground="{Binding ElementName=PlatformForegroundColor, Path=Text}" 
	FontSize="{Binding ElementName=Canvas,Path=ActualHeight, Converter={StaticResource ScalePropertyValueD}, ConverterParameter=FontSize;30;720}" >
	<TextBlock.RenderTransform>
		<TransformGroup>
			<RotateTransform Angle="0" />
			<ScaleTransform ScaleX="1" ScaleY="1" />
			<SkewTransform  AngleX="0" AngleY="0" />
		</TransformGroup>
	</TextBlock.RenderTransform>
	<TextBlock.Effect>
		<DropShadowEffect BlurRadius="0" Color="Black" Direction="300" Opacity="1" ShadowDepth="{Binding ElementName=Canvas,Path=ActualHeight, Converter={StaticResource ScalePropertyValueD}, ConverterParameter=H;3;720}" RenderingBias="Quality" />
	</TextBlock.Effect>
</TextBlock>

It's the same logic that's throughout the XAML - it's just it didn't need to be repeated everywhere.

If you compare mine with the original (both attached in my earlier post), I will become more obvious.

Thanks i'll check it out tomorrow.  I'm not sure how id implement that into CTC though but i'll have a go.

Link to comment
Share on other sites

On 5/14/2023 at 3:48 AM, PaulyC said:

I can't seem to align the text/frame/grid or whatever's controlling it to the right and make it expand to the left, it always goes left to right as shown in your pic.  Creating margins and padding just pushes the whole lot off the screen as well.  Maybe @faeran can help me with this?

Normally, this is caused by it being wrapped in a parent element that doesn't adhere to alignment properties. If you need more help, send me a PM.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...